-
Notifications
You must be signed in to change notification settings - Fork 3
Compilador AQL
Fábio Nogueira de Lucena edited this page May 19, 2018
·
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.
- Deve ser produzido aplicativo de linha de comandos aqlc (AQL compiler).
- Deve ser produzida tabela de códigos bem-definida de erros léxicos e sintáticos.
- 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.
- Código em BAQL é código otimizado para processamento e, possivelmente, não adequado para consumo humano.