Skip to content

Overall design

Santiago Munín edited this page Aug 15, 2015 · 3 revisions

The internal architecture of Harmony follows the pipeline pattern, and is composed of the following parts:

  • Lexer: it reads the input file and captures all the tokens.
  • Parser: it takes all the tokens and builds the abstract syntax tree.
  • Type checker: checks the correctness of the specification (correct references, annotations, etc.). It returns an ApiSpec record, which contains all the information of the AST, but with a better structure and being easier to manipulate.
  • Service generator: it generates a Service record, which contains the ApiSpec information in a different format so the template system can easily use it.
  • Output generator: takes a Service record and a set of templates (and regular files) and compiles the templates to generate the final output. It also

Pipeline schematic

Pipeline schematic

ApiSpec record

ApiSpec record

Service record

Service record

Clone this wiki locally