es:manual:ssl
Diferencias
Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
es:manual:ssl [2021/06/16 14:36] – [Aspectos sintácticos] root | es: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, |
=== Identificadores === | === Identificadores === | ||
Línea 40: | Línea 40: | ||
* '' | * '' | ||
+ | * '' | ||
=== Operadores === | === Operadores === | ||
Línea 61: | Línea 62: | ||
==== Aspectos sintácticos ==== | ==== Aspectos sintácticos ==== | ||
- | Desde un punto de vita sintactico un programa es una lista de sentencias, que a su vez pueden ser simples o compuestas. Para describir la sintaxis se utiliza una gramática de contexto libre siguiendo la notación clásica de [[wpes> | + | Desde un punto de vita sintactico un programa es una lista de sentencias, que a su vez pueden ser simples o compuestas. El lenguaje no tiene tipos y no requiere de sentencias de declaración. Tampoco tiene funciones, salvo algunas predefinidas. Para describir la sintaxis se utiliza una gramática de contexto libre siguiendo la notación clásica de [[wpes> |
< | < | ||
Línea 87: | Línea 88: | ||
sentComp: ' | sentComp: ' | ||
; | ; | ||
+ | </ | ||
+ | |||
+ | === Expresiones === | ||
+ | Son prácticamente las mismas que en Javascript, añadiendole el [[wp> | ||
+ | |||
+ | < | ||
+ | exp: exp ' | ||
+ | | exp ' | ||
+ | | exp ' | ||
+ | | exp '/' | ||
+ | | exp ' | ||
+ | | ' | ||
+ | | cond '?' | ||
+ | | exp '?:' | ||
+ | | ' | ||
+ | | ' | ||
+ | | ' | ||
+ | | var | ||
+ | | asig | ||
+ | | CONSTANTE_ENTERA | ||
+ | | CONSTANTE_REAL | ||
+ | | CONSTANTE_STRING | ||
+ | ; | ||
+ | |||
+ | var: IDENTIFICADOR | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | === Condiciones === | ||
+ | Son expresiones lógicas que tienen como resultado un valor booleano. | ||
+ | |||
+ | < | ||
+ | cond: exp ' | ||
+ | | exp ' | ||
+ | | exp '<' | ||
+ | | exp '< | ||
+ | | exp '> | ||
+ | | exp '>' | ||
+ | | cond ' | ||
+ | | cond '&&' | ||
+ | | ' | ||
+ | | ' | ||
+ | | ' | ||
+ | | ' | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | === Sentencias de asignación === | ||
+ | Lo mas destacable de las sentencias de asignación de SSL es que puede asignarse a una variable el valor booleano de una condición | ||
+ | |||
+ | < | ||
+ | asig: var ' | ||
+ | | var ' | ||
+ | | var ' | ||
+ | | var ' | ||
+ | | var ' | ||
+ | | var '/ | ||
+ | | ' | ||
+ | | ' | ||
+ | | var ' | ||
+ | | var ' | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | === Sentencia if === | ||
+ | |||
+ | < | ||
+ | sentIf: ' | ||
+ | | ' | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Sentencia while === | ||
+ | |||
+ | < | ||
+ | sentWhile: ' | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Sentencia do-while === | ||
+ | |||
+ | < | ||
+ | sentDo: ' | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Sentencia for === | ||
+ | < | ||
+ | sentFor: ' | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | === 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. | ||
+ | |||
+ | < | ||
+ | sentFor: ' | ||
+ | | ' | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | |||
+ | === Sentencia print === | ||
+ | < | ||
+ | sentPrint: ' | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | === Arrays === | ||
+ | Pueden definirse arrays unidimensionales son la siguiente sintaxis: | ||
+ | |||
+ | < | ||
+ | asig: var ' | ||
+ | ; | ||
+ | listaExp: listaExp ',' | ||
+ | | exp | ||
+ | ; | ||
+ | </ | ||
+ | |||
+ | y acceder a sus elementos mediante: | ||
+ | |||
+ | < | ||
+ | var: IDENTIFICADOR ' | ||
+ | ; | ||
</ | </ | ||
==== 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 '' | ||
+ | |||
+ | Las operaciones entre números se hacen siempre considerando que los operadores son números reales. | ||
+ | |||
es/manual/ssl.1623854198.txt.gz · Última modificación: 2021/06/16 14:36 por root