-
Notifications
You must be signed in to change notification settings - Fork 3
Compilador AQL
Fábio Nogueira de Lucena edited this page Jul 29, 2017
·
30 revisions
AQL (Archetype Query Language) é a linguagem de consulta empregada para requisitar informações de saúde ao HealthDB, independente do esquema empregado para armazenamento dos dados correspondentes.
Antes que uma sentença em AQL possa ser executada é necessário analisá-la sintática e semanticamente, inclusive gerar código em BAQL (Binary AQL), formato interno empregado pelo HealthDB, equivalente à sentença AQL fornecida como entrada.
Os módulos que compõem o AQL Compiler são ilustrados na figura abaixo.
A análise semântica faz uso de informações sobre arquétipos e, em consequência, consulta o Metadata Manager.
Definir o formato BAQL (Binary AQL) e a construção do AQL Compiler, que realiza a conversão de AQL para BAQL.
- R1. Erros léxicos e sintáticos resultam em código de erro específico.
- R2. Análise semântica deve incluir:
- Verificação da existência de arquétipos no catálogo do HealthDB.
- Validar paths referenciados.
- Verificação de uso consistente dos tipos de atributos.
- R3. Código em RI gerado é considerado correto da perspectiva léxica e sintática. Isso significa que o Compilador RI não precisa realizar verificações correspondentes.
- R4. Código RI e HML possivelmente é código binário (visando eficiência) com representação textual para facilitar a verificação.