Especificación Lenguaje FKScript

Creative Commons License Este documento y su código fuente asociado están bajo una licencia de Creative Commons.

Indice


1. Programa FKScript
2. Tipos de datos
3. Declaración de variables
4. Instrucciones
    4.1. Asignaciones
    4.2. Intrucción IF
    4.3. Instrucción WHILE
    4.4. Instrucción RETURN
5. Expresiones
    5.1. Expresiones aritméticas
    5.2. Expresiones lógicas
    5.3. Expresiones de cadena
6. Ejemplo programa FKScript


1. Programa FKScript

Un programa en FKScript estará compuesto por una serie de declaraciones de funciones API y una única función expresada mediante la sintaxis siguiente:

declaraciones-api

program tipo nombrePrograma
{
    ...CódigoPrograma...
}

El tipo podrá ser cualquiera de los indicados en el apartado siguiente e indica el tipo de dato del valor devuelto por el programa.

Por su parte, las declaraciones de la API seguirán la notación siguiente:

api tipo nombreFuncion ( lista_parámetros );

La lita de parámetros estará formada por una serie de declaraciones de variable separadas por comas. Un ejemplo de delaración de función sería el siguiente:

api int sumaEnteros ( int entero1, int entero2 );


2. Tipos de datos


Los tipos de datos permitidos serán:

int Valor numérico entero
float Valor numérico real
bool Valor lógico
string Cadena de caracteres


3. Declaración de variables


La declaración de variables en FKScript se realizará de la misma forma que en los lenguajes C# o Java, con la diferencia de no poder inicializarse dicha variable en la propia declaración. La sintaxis será la siguiente:

Tipo NombreVariable;

El tipo de dato debe ser uno de los indicados en el apartado anterior y el nombre de la variable debe cumplir las siguientes reglas:

1. Comenzar por una letra o por el caracter de subrayado '_'.
2. El resto de caracteres deben ser dígitos, letras o caracteres de subrayado '_'.

El lenguaje será sensible a mayúsculas y minúsculas, por lo que identificadores como por ejemplo NumLinea y numlinea se considerarán distintos.

Como ejemplo, para declarar una variable de tipo entero llamada numeroFila utilizaremos la siguiente sentencia:

int numeroFila;


4. Instrucciones

4.1. Asignaciones

Las instrucciones de asignación serán idénticas a las de C# o Java, siguiéndose la siguiente sintaxis:

NombreVariable = expresión;

La expresión asignada podrá ser un literal, un identificador o cualquier operación entre ellos. Así por ejemplo, serán asignaciones válidas:

miVariable = 3;
miOtraVariable = miVariable;
otraVariableMas = 3 + (miVariable * 5);



4.2. Instrucción condicional if

La instrucción if seguirá la siguiente sintaxis:

if ( expresionLogica )
{
    Código ejecutado cuando 'expresionLogica' es cierta
}
else
{
    Código ejecutado cuando 'expresionLogica' es falsa
}


El bloque else será opcional en esta instrucción.


4.3. Instrucción iterativa while

La instrucción while seguirá la siguiente sintaxis:

while ( expresionLogica )
{
    Código ejecutado mientras 'expresionLogica' es cierta
}



4.4. Instrucción return

La instrucción return se utilizará para indicar la expresión devuelta por el programa y seguirá la siguiente sintaxis:

return expresion


5. Expresiones

5.1. Expresiones Aritméticas

Las expresiones aritméticas permitidas para los tipos int y float serán las siguientes:

+ Suma
- Resta / Menos unario
* Producto
/ División

5.2. Expresiones Lógicas

Las expresiones lógicas permitidas serán las siguientes:

== Igual
!= Distinto
> Mayor
>= Mayor o igual
< Menor
<= Menor o igual
! Negación lógica

5.3. Expresiones de cadenas

Las expresiones entre cadenas permitidas serán las siguientes:

+ Concatenación de cadenas


6. Ejemplo programa FKScript

A continuación se muestra un programa simple escrito en lenguaje FKScript:

api int sumaEnteros(int e1, int e2);

program Prueba

    int c;

    c = sumaEnteros(5,2);

    if(c > 2)
    {
        c = 1;
    }

    return c;
}

Actualizado por Sgoliver el 23/09/2007

Salvo indicación expresa, todo el contenido de esta web (incluido texto y descargas) están bajo una licencia de Creative Commons

Licencia de Creative Commons