iidec / Integra.Space.Language-upstream

Lenguaje de consulta que permite el acceso a datos en tiempo real
0 stars 0 forks source link

Implementar sentencia go #68

Open OscarCanek opened 7 years ago

OscarCanek commented 7 years ago

Como primer paso para mejorar el manejo de errores se debe separar la ejecución con la palabra reservada go. El efecto que se obtendrá es que los comandos agrupados por 'go' se les realicé el parseo y se ejecuten como un todo, es decir, como partes independientes. Por ejemplo.

create source a (c1 int); -- ok
go
create source b (c1 int); -- ok
go
create source c (c1 int); -- ok
go
create , source x (c1 int);
create source y (c1 int);         -- error
create source z (c1 int);

Para esto se debe realizar lo siguiente:

El resultado de este parseo debe ser un resultado que derive de la clase SpaceResultBase

OscarCanek commented 7 years ago

Sintaxis de la sentencia go

go = 'go', [unsigned_integer];

OscarCanek commented 7 years ago

No fue necesario crear una nueva gramática y por ende tampoco un parser para ella. El go se maneja como un comando mas y no como un marcador delimitador de comandos.