Skip to content

Compilador AQL

Fábio Nogueira de Lucena edited this page Jul 29, 2017 · 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.

Requisitos

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

Links relevantes

Outros usos da sigla AQL

Clone this wiki locally