You are on page 1of 5

Instituto Tecnolgico de Hermosillo

SPARK
Nombre:
Yair Eli Arriaga Paredes

Materia:
LENGUAJES Y AUTOMATAS I

Profesor:
Ana Luisa Milln Castro

11/05/17
SPARK

SPARK es un lenguaje de programacin especialmente diseado para sistemas


de alta integridad. Es un subconjunto anotado de Ada desarrollado por la empresa
britnica Praxis High Integrity Systems, Inc que elimina ciertas caractersticas del
lenguaje consideradas peligrosas en este tipo de sistemas (como las excepciones
o la sobrecarga de operadores), y que aade anotaciones formales para realizar
automticamente anlhampton Program Analysis Development Environment), un
conjunto de herramientas destinadas al anlisis de flujo de datos y de informacin.
De hecho, el nombre SPARK deriva de SPADE Ada Kernel.

La primera versin de SPARK estaba basada en Ada 83 y fue desarrollada en


1988 por Bernard Carr y Trevor Jennings en dicha

Principales caractersticas:
Falsas alarmas.
o herramientas de anlisis y su simplicidad.
Profundidad.
o Comprueba propiedades complejas de su cdigo.
Rpido.
o Herramientas interactivas durante el desarrollo.
Modular.
o ejecutar anlisis de programas incompletos.
Ejemplo de Hola mundo en SPARK:
with Spark_IO;
--# inherit Spark_IO;
--# main_program;

procedure Hola_Mundo
--# global in out Spark_IO.Outputs;
--# derives Spark_IO.Outputs from Spark_IO.Outputs;
is
begin
Spark_IO.Put_Line (Spark_IO.Standard_Output, "Hola Mundo!", 0);
end Hola_Mundo;

Tabla de smbolos
<ID> ::= L ( L | d )* 100
<Entero > ::= 0|1|2||9 101
<Decimal> ::= (d)+.(d)+102
<Operadores aritmticos> ::= + 104| -105 | *106 | /108
<Operadores relacionales> ::= <109 |<=110|>111|>=112|=103|!=114
<Operadores lgicos> ::= and213| or217| not218
<Operadores bolanos> :: = true219 | false220
<Smbolos de puntuacin> ::= .119|;121| ,120|
<Smbolos de agrupacin> ::= (122|)123
<Smbolo de asignacin> ::= :=128:
<Blank> ::= Space | Tab | End of File | Enter |End of line
<Comentarios> ::= //(ASCII)*//
<Cadena> ::= (ASCII)127
<Palabras reservadas> ::= procedure200 | end201 | read202 | print203| while204| do205|
loop206| forever207| repeat208| until209| exit210| if211| else212| and213| then 214| go215| to216|
or217| not217| not218| true219| false220

<Errores> ::= smbolo irreconocible 500| se esperaba un = 501 | no cerro comentario


502
| se esperaba un numero 503 | se esperaban comillas 504
Autmata finito
Matriz de transicin

You might also like