Skip to content

Compilador AQL

Fábio Nogueira de Lucena edited this page May 19, 2018 · 30 revisions

Contexto

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.

hdb-aql-compiler

A análise semântica faz uso de informações sobre arquétipos e, em consequência, consulta o Metadata Manager.

Objetivo

Definir o formato BAQL (Binary AQL) e a construção do AQL Compiler, que realiza a conversão de AQL para BAQL.

Orientações para o projeto

  • 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.

Links relevantes

Ferramentas

Outros usos da sigla AQL

Clone this wiki locally