Herramientas de usuario

Herramientas del sitio


es:manual:ssl

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
es:manual:ssl [2021/06/16 15:00] – [Aspectos sintácticos] rootes:manual:ssl [2021/07/07 17:46] (actual) – [Aspectos semánticos] root
Línea 34: Línea 34:
     round       round  
  
-a las que hay que añadir los identificadores predefinidos.+a las que hay que añadir los identificadores predefinidos. Actualmente no todas las sentencias correspondientes a algunas de estas palabras reservadas están implementadas, algunas están simplemente reservadas para futuros usos.
  
 === Identificadores === === Identificadores ===
Línea 40: Línea 40:
  
     * ''answer''. contiene el texto de la respuesta del alumno. En caso de que la respuesta del alumno sea múltiple la variable ''answer'' contiene una matriz que puede accederse como ''answer[0]'', ''answer[1]'', etc. En ese caso la variable ''answer'' sigue conservando la matriz completa.     * ''answer''. contiene el texto de la respuesta del alumno. En caso de que la respuesta del alumno sea múltiple la variable ''answer'' contiene una matriz que puede accederse como ''answer[0]'', ''answer[1]'', etc. En ese caso la variable ''answer'' sigue conservando la matriz completa.
 +    * ''respuesta'', contiene exactamente lo mismo que la anterior, para poder escribir el código en español.
  
 === Operadores === === Operadores ===
Línea 90: Línea 91:
  
 === Expresiones === === Expresiones ===
-Son prácticamente las mismas que en Javascript, añadiendole el operador elvis. Las variables pueden ser variables simples o matrices de una sola dimensión, en cuyo caso pueden estar indexadas por una expresión.+Son prácticamente las mismas que en Javascript, añadiendole el [[wp>Elvis_operator|operador elvis]]. Las variables pueden ser variables simples o matrices de una sola dimensión, en cuyo caso pueden estar indexadas por una expresión.
  
 <code> <code>
Línea 112: Línea 113:
  
 var: IDENTIFICADOR var: IDENTIFICADOR
-   | IDENTIFICADOR '[' exp ']' 
    ;    ;
 </code> </code>
Línea 151: Línea 151:
     ;      ;
 </code> </code>
 +
 +=== Sentencia if ===
 +
 +<code>
 +sentIf: 'if' '(' cond ')' sent
 +      | 'if' '(' cond ')' sent 'else' sent
 +      ;
 +</code>
 +
 +
 +=== Sentencia while ===
 +
 +<code>
 +sentWhile: 'while' '(' cond ')' sent
 +         ;
 +</code>
 +
 +
 +=== Sentencia do-while ===
 +
 +<code>
 +sentDo: 'do' sent 'while' '(' cond ')'
 +      ;
 +</code>
 +
 +
 +=== Sentencia for ===
 +<code>
 +sentFor: 'for' '(' exp ',' cond ',' exp ')' sent
 +       ;
 +</code>
 +
 +=== Sentencia return ===
 +La sentencia return puede devolver un valor numérico, una cadena de caracteres o bien el valor booleano correspondiente a una expresión.
 +
 +<code>
 +sentFor: 'return' exp 
 +       | 'return' cond
 +       ;
 +</code>
 +
 +
 +=== Sentencia print ===
 +<code>
 +sentPrint: 'print' '(' exp ')' 
 +         ;
 +</code>
 +
 +=== Arrays ===
 +Pueden definirse arrays unidimensionales son la siguiente sintaxis:
 +
 +<code>
 +asig: var '=' '{' listaExp '}'
 +    ;
 +listaExp: listaExp ',' exp
 +        | exp
 +        ;
 +</code>
 +
 +y acceder a sus elementos mediante:
 +
 +<code>
 +var: IDENTIFICADOR '[' exp ']'
 +   ;
 +</code>
 +
 +
 ==== Aspectos semánticos ==== ==== Aspectos semánticos ====
 +
 +El lenguaje no tiene tipos. Cuando se realiza una operación SSL intenta acomodar la semántica de la operación a un posible tipo que infiere de sus operadores. Así por ejemplo, la operación ''x=2+2'', tendrá como resultado ''x=4'' pero la operación ''x='a'+'b''' tendrá como resultado ''x='ab'''.
 +
 +Las operaciones entre números se hacen siempre considerando que los operadores son números reales.
 +
  
es/manual/ssl.1623855605.txt.gz · Última modificación: 2021/06/16 15:00 por root

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki