cymoca
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
cymoca::Compiler Class Reference

#include <compiler.h>

Inheritance diagram for cymoca::Compiler:
Inheritance graph
Collaboration diagram for cymoca::Compiler:
Collaboration graph

Public Types

using AstMap = std::unordered_map< antlr4::ParserRuleContext *, std::unique_ptr< ast::INode >>
 

Public Member Functions

 Compiler (std::ifstream &text)
 
ModelicaParser & getParser ()
 
antlr4::CommonTokenStream & getTokenStream ()
 
ast::model::Class * root ()
 
 Compiler (const Compiler &)=delete
 
Compiler & operator= (const Compiler &)=delete
 
void visitTerminal (antlr4::tree::TerminalNode *node) override
 
void visitErrorNode (antlr4::tree::ErrorNode *node) override
 
void enterEveryRule (antlr4::ParserRuleContext *ctx) override
 
void exitEveryRule (antlr4::ParserRuleContext *ctx) override
 
void exitCond_bool (ModelicaParser::Cond_boolContext *ctx) override
 
void exitCond_binary (ModelicaParser::Cond_binaryContext *ctx) override
 
void exitCond_unary (ModelicaParser::Cond_unaryContext *ctx) override
 
void exitCond_compare (ModelicaParser::Cond_compareContext *ctx) override
 
void exitCond_func (ModelicaParser::Cond_funcContext *ctx) override
 
void exitCond_ref (ModelicaParser::Cond_refContext *ctx) override
 
void exitEq_simple (ModelicaParser::Eq_simpleContext *ctx) override
 
void exitEq_block (ModelicaParser::Eq_blockContext *ctx) override
 
void exitEq_if (ModelicaParser::Eq_ifContext *ctx) override
 
void exitEq_for (ModelicaParser::Eq_forContext *ctx) override
 
void exitEq_connect (ModelicaParser::Eq_connectContext *ctx) override
 
void exitEq_when (ModelicaParser::Eq_whenContext *ctx) override
 
void exitEq_func (ModelicaParser::Eq_funcContext *ctx) override
 
void exitStmt_ref (ModelicaParser::Stmt_refContext *ctx) override
 
void exitStmt_func (ModelicaParser::Stmt_funcContext *ctx) override
 
void exitStmt_key (ModelicaParser::Stmt_keyContext *ctx) override
 
void exitStmt_if (ModelicaParser::Stmt_ifContext *ctx) override
 
void exitStmt_for (ModelicaParser::Stmt_forContext *ctx) override
 
void exitStmt_while (ModelicaParser::Stmt_whileContext *ctx) override
 
void exitStmt_when (ModelicaParser::Stmt_whenContext *ctx) override
 
void exitFor_indices (ModelicaParser::For_indicesContext *ctx) override
 
void exitFor_index (ModelicaParser::For_indexContext *ctx) override
 
void exitExpr_number (ModelicaParser::Expr_numberContext *ctx) override
 
void exitExpr_ref (ModelicaParser::Expr_refContext *ctx) override
 
void exitExpr_simple (ModelicaParser::Expr_simpleContext *ctx) override
 
void exitExpr_if (ModelicaParser::Expr_ifContext *ctx) override
 
void exitExpr_func (ModelicaParser::Expr_funcContext *ctx) override
 
void exitExpr_string (ModelicaParser::Expr_stringContext *ctx) override
 
void exitExpr_range (ModelicaParser::Expr_rangeContext *ctx) override
 
void exitExpr_unary (ModelicaParser::Expr_unaryContext *ctx) override
 
void exitExpr_binary (ModelicaParser::Expr_binaryContext *ctx) override
 
void exitExpr_output (ModelicaParser::Expr_outputContext *ctx) override
 
void exitExpr_list (ModelicaParser::Expr_listContext *ctx) override
 
void exitExpr_end (ModelicaParser::Expr_endContext *ctx) override
 
void exitExpr_array (ModelicaParser::Expr_arrayContext *ctx) override
 
void exitFunction_call_args (ModelicaParser::Function_call_argsContext *ctx) override
 
void exitFunc_arg_expr (ModelicaParser::Func_arg_exprContext *ctx) override
 
void exitFunc_arg_for (ModelicaParser::Func_arg_forContext *ctx) override
 
void exitFunc_arg_func (ModelicaParser::Func_arg_funcContext *ctx) override
 
void exitFunc_arg_named (ModelicaParser::Func_arg_namedContext *ctx) override
 
void exitElem_import (ModelicaParser::Elem_importContext *ctx) override
 
void exitElem_extends (ModelicaParser::Elem_extendsContext *ctx) override
 
void exitElem_class (ModelicaParser::Elem_classContext *ctx) override
 
void exitElem_comp (ModelicaParser::Elem_compContext *ctx) override
 
void exitClass_prefixes (ModelicaParser::Class_prefixesContext *ctx) override
 
void exitStored_definition (ModelicaParser::Stored_definitionContext *ctx) override
 
void exitEnumeration_literal (ModelicaParser::Enumeration_literalContext *ctx) override
 
void exitComposition (ModelicaParser::CompositionContext *ctx) override
 
void exitExternal_function_call (ModelicaParser::External_function_callContext *ctx) override
 
void exitConstraining_clause (ModelicaParser::Constraining_clauseContext *ctx) override
 
void exitComponent_clause (ModelicaParser::Component_clauseContext *ctx) override
 
void exitType_prefix (ModelicaParser::Type_prefixContext *ctx) override
 
void exitComponent_declaration (ModelicaParser::Component_declarationContext *ctx) override
 
void exitClass_modification (ModelicaParser::Class_modificationContext *ctx) override
 
void exitStmt_block (ModelicaParser::Stmt_blockContext *ctx) override
 
void exitEquation_section (ModelicaParser::Equation_sectionContext *ctx) override
 
void exitAlgorithm_section (ModelicaParser::Algorithm_sectionContext *ctx) override
 
void exitType_specifier (ModelicaParser::Type_specifierContext *ctx) override
 
void exitName (ModelicaParser::NameContext *ctx) override
 
void exitComponent_reference (ModelicaParser::Component_referenceContext *ctx) override
 
void exitArray_arg_expr (ModelicaParser::Array_arg_exprContext *ctx) override
 
void exitArray_arg_for (ModelicaParser::Array_arg_forContext *ctx) override
 
void exitArray_arguments (ModelicaParser::Array_argumentsContext *ctx) override
 
void exitNamed_arguments (ModelicaParser::Named_argumentsContext *ctx) override
 
void exitNamed_argument (ModelicaParser::Named_argumentContext *ctx) override
 
void exitOutput_expression_list (ModelicaParser::Output_expression_listContext *ctx) override
 
void exitExpression_list (ModelicaParser::Expression_listContext *ctx) override
 
void exitArray_subscripts (ModelicaParser::Array_subscriptsContext *ctx) override
 
void exitSubscript (ModelicaParser::SubscriptContext *ctx) override
 
void exitComment (ModelicaParser::CommentContext *ctx) override
 
void exitString_comment (ModelicaParser::String_commentContext *ctx) override
 
void exitAnnotation (ModelicaParser::AnnotationContext *ctx) override
 
void exitClass_def_long (ModelicaParser::Class_def_longContext *ctxt) override
 
void exitClass_def_der (ModelicaParser::Class_def_derContext *ctxt) override
 
void exitClass_def_short (ModelicaParser::Class_def_shortContext *ctxt) override
 
void exitClass_def_type (ModelicaParser::Class_def_typeContext *ctxt) override
 
void exitClass_def_enum (ModelicaParser::Class_def_enumContext *ctxt) override
 
void exitArg_modification (ModelicaParser::Arg_modificationContext *ctxt) override
 
void exitArg_redeclare_class (ModelicaParser::Arg_redeclare_classContext *ctxt) override
 
void exitArg_redeclare_element (ModelicaParser::Arg_redeclare_elementContext *ctxt) override
 
void exitModification_class (ModelicaParser::Modification_classContext *ctx) override
 
void exitModification_equation (ModelicaParser::Modification_equationContext *ctx) override
 
void exitModification_statement (ModelicaParser::Modification_statementContext *ctx) override
 

Protected Member Functions

template<typename T >
T * getAst (antlr4::ParserRuleContext *ctx)
 
template<typename T >
std::unique_ptr< T > moveAst (antlr4::ParserRuleContext *ctx)
 
template<typename T >
std::unique_ptr< T > cloneAst (antlr4::ParserRuleContext *ctx)
 
void setAst (antlr4::ParserRuleContext *ctx, std::unique_ptr< ast::INode > node)
 
void linkAst (antlr4::ParserRuleContext *to, antlr4::ParserRuleContext *from)
 
std::string indent (int n)
 

Protected Attributes

std::unique_ptr< ModelicaParser > m_parser
 
antlr4::ANTLRInputStream m_input
 
ModelicaLexer m_lexer
 
antlr4::CommonTokenStream m_token_stream
 
ast::model::Class * m_root {nullptr}
 
bool m_verbose
 
AstMap m_ast
 

Detailed Description

This is the main compiler class.

Definition at line 35 of file compiler.h.

Member Typedef Documentation

using cymoca::Compiler::AstMap = std::unordered_map<antlr4::ParserRuleContext *, std::unique_ptr<ast::INode>>

Definition at line 44 of file compiler.h.

Constructor & Destructor Documentation

cymoca::Compiler::Compiler ( std::ifstream &  text)
explicit

Definition at line 5 of file compiler.cc.

cymoca::Compiler::Compiler ( const Compiler &  )
delete

Member Function Documentation

template<typename T >
std::unique_ptr<T> cymoca::Compiler::cloneAst ( antlr4::ParserRuleContext *  ctx)
inlineprotected

This function gets the AST associated with ctx and makes a copy which is returns to the caller.

Definition at line 87 of file compiler.h.

void cymoca::Compiler::enterEveryRule ( antlr4::ParserRuleContext *  ctx)
override

Definition at line 38 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitAlgorithm_section ( ModelicaParser::Algorithm_sectionContext *  ctx)
override

Definition at line 422 of file compiler.cc.

void cymoca::Compiler::exitAnnotation ( ModelicaParser::AnnotationContext *  ctx)
override

Definition at line 475 of file compiler.cc.

void cymoca::Compiler::exitArg_modification ( ModelicaParser::Arg_modificationContext *  ctxt)
override

Definition at line 495 of file compiler.cc.

void cymoca::Compiler::exitArg_redeclare_class ( ModelicaParser::Arg_redeclare_classContext *  ctxt)
override

Definition at line 499 of file compiler.cc.

void cymoca::Compiler::exitArg_redeclare_element ( ModelicaParser::Arg_redeclare_elementContext *  ctxt)
override

Definition at line 503 of file compiler.cc.

void cymoca::Compiler::exitArray_arg_expr ( ModelicaParser::Array_arg_exprContext *  ctx)
override

Definition at line 437 of file compiler.cc.

void cymoca::Compiler::exitArray_arg_for ( ModelicaParser::Array_arg_forContext *  ctx)
override

Definition at line 440 of file compiler.cc.

void cymoca::Compiler::exitArray_arguments ( ModelicaParser::Array_argumentsContext *  ctx)
override

Definition at line 443 of file compiler.cc.

void cymoca::Compiler::exitArray_subscripts ( ModelicaParser::Array_subscriptsContext *  ctx)
override

Definition at line 462 of file compiler.cc.

void cymoca::Compiler::exitClass_def_der ( ModelicaParser::Class_def_derContext *  ctxt)
override

Definition at line 482 of file compiler.cc.

void cymoca::Compiler::exitClass_def_enum ( ModelicaParser::Class_def_enumContext *  ctxt)
override

Definition at line 492 of file compiler.cc.

void cymoca::Compiler::exitClass_def_long ( ModelicaParser::Class_def_longContext *  ctxt)
override

Definition at line 478 of file compiler.cc.

void cymoca::Compiler::exitClass_def_short ( ModelicaParser::Class_def_shortContext *  ctxt)
override

Definition at line 485 of file compiler.cc.

void cymoca::Compiler::exitClass_def_type ( ModelicaParser::Class_def_typeContext *  ctxt)
override

Definition at line 489 of file compiler.cc.

void cymoca::Compiler::exitClass_modification ( ModelicaParser::Class_modificationContext *  ctx)
override

Definition at line 407 of file compiler.cc.

void cymoca::Compiler::exitClass_prefixes ( ModelicaParser::Class_prefixesContext *  ctx)
override

Definition at line 316 of file compiler.cc.

void cymoca::Compiler::exitComment ( ModelicaParser::CommentContext *  ctx)
override

Definition at line 469 of file compiler.cc.

void cymoca::Compiler::exitComponent_clause ( ModelicaParser::Component_clauseContext *  ctx)
override

Definition at line 375 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitComponent_declaration ( ModelicaParser::Component_declarationContext *  ctx)
override

Definition at line 403 of file compiler.cc.

void cymoca::Compiler::exitComponent_reference ( ModelicaParser::Component_referenceContext *  ctx)
override

Definition at line 432 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitComposition ( ModelicaParser::CompositionContext *  ctx)
override

Definition at line 329 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitCond_binary ( ModelicaParser::Cond_binaryContext *  ctx)
override

Definition at line 72 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitCond_bool ( ModelicaParser::Cond_boolContext *  ctx)
override

Definition at line 60 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitCond_compare ( ModelicaParser::Cond_compareContext *  ctx)
override

Definition at line 93 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitCond_func ( ModelicaParser::Cond_funcContext *  ctx)
override

Definition at line 119 of file compiler.cc.

void cymoca::Compiler::exitCond_ref ( ModelicaParser::Cond_refContext *  ctx)
override

Definition at line 122 of file compiler.cc.

void cymoca::Compiler::exitCond_unary ( ModelicaParser::Cond_unaryContext *  ctx)
override

Definition at line 87 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitConstraining_clause ( ModelicaParser::Constraining_clauseContext *  ctx)
override

Definition at line 371 of file compiler.cc.

void cymoca::Compiler::exitElem_class ( ModelicaParser::Elem_classContext *  ctx)
override

Definition at line 305 of file compiler.cc.

void cymoca::Compiler::exitElem_comp ( ModelicaParser::Elem_compContext *  ctx)
override

Definition at line 308 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitElem_extends ( ModelicaParser::Elem_extendsContext *  ctx)
override

Definition at line 302 of file compiler.cc.

void cymoca::Compiler::exitElem_import ( ModelicaParser::Elem_importContext *  ctx)
override

Definition at line 299 of file compiler.cc.

void cymoca::Compiler::exitEnumeration_literal ( ModelicaParser::Enumeration_literalContext *  ctx)
override

Definition at line 325 of file compiler.cc.

void cymoca::Compiler::exitEq_block ( ModelicaParser::Eq_blockContext *  ctx)
override

Definition at line 137 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitEq_connect ( ModelicaParser::Eq_connectContext *  ctx)
override

Definition at line 151 of file compiler.cc.

void cymoca::Compiler::exitEq_for ( ModelicaParser::Eq_forContext *  ctx)
override

Definition at line 148 of file compiler.cc.

void cymoca::Compiler::exitEq_func ( ModelicaParser::Eq_funcContext *  ctx)
override

Definition at line 165 of file compiler.cc.

void cymoca::Compiler::exitEq_if ( ModelicaParser::Eq_ifContext *  ctx)
override

Definition at line 145 of file compiler.cc.

void cymoca::Compiler::exitEq_simple ( ModelicaParser::Eq_simpleContext *  ctx)
override

Definition at line 130 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitEq_when ( ModelicaParser::Eq_whenContext *  ctx)
override

Definition at line 154 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitEquation_section ( ModelicaParser::Equation_sectionContext *  ctx)
override

Definition at line 414 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitEveryRule ( antlr4::ParserRuleContext *  ctx)
override

Definition at line 45 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitExpr_array ( ModelicaParser::Expr_arrayContext *  ctx)
override

Definition at line 266 of file compiler.cc.

void cymoca::Compiler::exitExpr_binary ( ModelicaParser::Expr_binaryContext *  ctx)
override

Definition at line 254 of file compiler.cc.

void cymoca::Compiler::exitExpr_end ( ModelicaParser::Expr_endContext *  ctx)
override

Definition at line 263 of file compiler.cc.

void cymoca::Compiler::exitExpr_func ( ModelicaParser::Expr_funcContext *  ctx)
override

Definition at line 228 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitExpr_if ( ModelicaParser::Expr_ifContext *  ctx)
override

Definition at line 225 of file compiler.cc.

void cymoca::Compiler::exitExpr_list ( ModelicaParser::Expr_listContext *  ctx)
override

Definition at line 260 of file compiler.cc.

void cymoca::Compiler::exitExpr_number ( ModelicaParser::Expr_numberContext *  ctx)
override

Definition at line 205 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitExpr_output ( ModelicaParser::Expr_outputContext *  ctx)
override

Definition at line 257 of file compiler.cc.

void cymoca::Compiler::exitExpr_range ( ModelicaParser::Expr_rangeContext *  ctx)
override

Definition at line 247 of file compiler.cc.

void cymoca::Compiler::exitExpr_ref ( ModelicaParser::Expr_refContext *  ctx)
override

Definition at line 213 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitExpr_simple ( ModelicaParser::Expr_simpleContext *  ctx)
override

Definition at line 222 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitExpr_string ( ModelicaParser::Expr_stringContext *  ctx)
override

Definition at line 244 of file compiler.cc.

void cymoca::Compiler::exitExpr_unary ( ModelicaParser::Expr_unaryContext *  ctx)
override

Definition at line 250 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitExpression_list ( ModelicaParser::Expression_listContext *  ctx)
override

Definition at line 458 of file compiler.cc.

void cymoca::Compiler::exitExternal_function_call ( ModelicaParser::External_function_callContext *  ctx)
override

Definition at line 367 of file compiler.cc.

void cymoca::Compiler::exitFor_index ( ModelicaParser::For_indexContext *  ctx)
override

Definition at line 197 of file compiler.cc.

void cymoca::Compiler::exitFor_indices ( ModelicaParser::For_indicesContext *  ctx)
override

Definition at line 194 of file compiler.cc.

void cymoca::Compiler::exitFunc_arg_expr ( ModelicaParser::Func_arg_exprContext *  ctx)
override

Definition at line 282 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitFunc_arg_for ( ModelicaParser::Func_arg_forContext *  ctx)
override

Definition at line 285 of file compiler.cc.

void cymoca::Compiler::exitFunc_arg_func ( ModelicaParser::Func_arg_funcContext *  ctx)
override

Definition at line 288 of file compiler.cc.

void cymoca::Compiler::exitFunc_arg_named ( ModelicaParser::Func_arg_namedContext *  ctx)
override

Definition at line 291 of file compiler.cc.

void cymoca::Compiler::exitFunction_call_args ( ModelicaParser::Function_call_argsContext *  ctx)
override

Definition at line 274 of file compiler.cc.

Here is the call graph for this function:

void cymoca::Compiler::exitModification_class ( ModelicaParser::Modification_classContext *  ctx)
override

Definition at line 507 of file compiler.cc.

void cymoca::Compiler::exitModification_equation ( ModelicaParser::Modification_equationContext *  ctx)
override

Definition at line 511 of file compiler.cc.

void cymoca::Compiler::exitModification_statement ( ModelicaParser::Modification_statementContext *  ctx)
override

Definition at line 516 of file compiler.cc.

void cymoca::Compiler::exitName ( ModelicaParser::NameContext *  ctx)
override

Definition at line 429 of file compiler.cc.

void cymoca::Compiler::exitNamed_argument ( ModelicaParser::Named_argumentContext *  ctx)
override

Definition at line 451 of file compiler.cc.

void cymoca::Compiler::exitNamed_arguments ( ModelicaParser::Named_argumentsContext *  ctx)
override

Definition at line 447 of file compiler.cc.

void cymoca::Compiler::exitOutput_expression_list ( ModelicaParser::Output_expression_listContext *  ctx)
override

Definition at line 454 of file compiler.cc.

void cymoca::Compiler::exitStmt_block ( ModelicaParser::Stmt_blockContext *  ctx)
override

Definition at line 411 of file compiler.cc.

void cymoca::Compiler::exitStmt_for ( ModelicaParser::Stmt_forContext *  ctx)
override

Definition at line 185 of file compiler.cc.

void cymoca::Compiler::exitStmt_func ( ModelicaParser::Stmt_funcContext *  ctx)
override

Definition at line 176 of file compiler.cc.

void cymoca::Compiler::exitStmt_if ( ModelicaParser::Stmt_ifContext *  ctx)
override

Definition at line 182 of file compiler.cc.

void cymoca::Compiler::exitStmt_key ( ModelicaParser::Stmt_keyContext *  ctx)
override

Definition at line 179 of file compiler.cc.

void cymoca::Compiler::exitStmt_ref ( ModelicaParser::Stmt_refContext *  ctx)
override

Definition at line 173 of file compiler.cc.

void cymoca::Compiler::exitStmt_when ( ModelicaParser::Stmt_whenContext *  ctx)
override

Definition at line 191 of file compiler.cc.

void cymoca::Compiler::exitStmt_while ( ModelicaParser::Stmt_whileContext *  ctx)
override

Definition at line 188 of file compiler.cc.

void cymoca::Compiler::exitStored_definition ( ModelicaParser::Stored_definitionContext *  ctx)
override

Definition at line 320 of file compiler.cc.

void cymoca::Compiler::exitString_comment ( ModelicaParser::String_commentContext *  ctx)
override

Definition at line 472 of file compiler.cc.

void cymoca::Compiler::exitSubscript ( ModelicaParser::SubscriptContext *  ctx)
override

Definition at line 466 of file compiler.cc.

void cymoca::Compiler::exitType_prefix ( ModelicaParser::Type_prefixContext *  ctx)
override

Definition at line 400 of file compiler.cc.

void cymoca::Compiler::exitType_specifier ( ModelicaParser::Type_specifierContext *  ctx)
override

Definition at line 426 of file compiler.cc.

template<typename T >
T* cymoca::Compiler::getAst ( antlr4::ParserRuleContext *  ctx)
inlineprotected

This function gets a pointer to the AST associated with ctx.

Definition at line 60 of file compiler.h.

ModelicaParser& cymoca::Compiler::getParser ( )
inline

Definition at line 38 of file compiler.h.

antlr4::CommonTokenStream& cymoca::Compiler::getTokenStream ( )
inline

Definition at line 39 of file compiler.h.

std::string cymoca::Compiler::indent ( int  n)
protected

Helper methods

Definition at line 20 of file compiler.cc.

Here is the caller graph for this function:

void cymoca::Compiler::linkAst ( antlr4::ParserRuleContext *  to,
antlr4::ParserRuleContext *  from 
)
inlineprotected

Definition at line 102 of file compiler.h.

Here is the caller graph for this function:

template<typename T >
std::unique_ptr<T> cymoca::Compiler::moveAst ( antlr4::ParserRuleContext *  ctx)
inlineprotected

This function gets the AST associated with ctx and transfers ownership to the caller, removing it from the ast dictionary.

Definition at line 74 of file compiler.h.

Here is the call graph for this function:

Compiler& cymoca::Compiler::operator= ( const Compiler &  )
delete
ast::model::Class* cymoca::Compiler::root ( )
inline

Definition at line 40 of file compiler.h.

void cymoca::Compiler::setAst ( antlr4::ParserRuleContext *  ctx,
std::unique_ptr< ast::INode >  node 
)
inlineprotected

Definition at line 93 of file compiler.h.

Here is the caller graph for this function:

void cymoca::Compiler::visitErrorNode ( antlr4::tree::ErrorNode *  node)
override

Definition at line 36 of file compiler.cc.

void cymoca::Compiler::visitTerminal ( antlr4::tree::TerminalNode *  node)
override

Listener Functions

Definition at line 30 of file compiler.cc.

Member Data Documentation

AstMap cymoca::Compiler::m_ast
protected

Definition at line 53 of file compiler.h.

antlr4::ANTLRInputStream cymoca::Compiler::m_input
protected

Definition at line 48 of file compiler.h.

ModelicaLexer cymoca::Compiler::m_lexer
protected

Definition at line 49 of file compiler.h.

std::unique_ptr<ModelicaParser> cymoca::Compiler::m_parser
protected

Definition at line 47 of file compiler.h.

ast::model::Class* cymoca::Compiler::m_root {nullptr}
protected

Definition at line 51 of file compiler.h.

antlr4::CommonTokenStream cymoca::Compiler::m_token_stream
protected

Definition at line 50 of file compiler.h.

bool cymoca::Compiler::m_verbose
protected

Definition at line 52 of file compiler.h.


The documentation for this class was generated from the following files: