User Guide
nmodl_lexer.hpp File Reference
#include "ast/ast.hpp"
#include "parser/nmodl/nmodl_parser.hpp"
#include "FlexLexer.h"

Go to the source code of this file.

Classes

class  nmodl::parser::NmodlLexer
 Represent Lexer/Scanner class for NMODL language parsing. More...
 

Namespaces

 nmodl
 encapsulates code generation backend implementations
 
 nmodl::parser
 encapsulate lexer and parsers implementations
 

Macros

#define YY_DECL   nmodl::parser::NmodlParser::symbol_type nmodl::parser::NmodlLexer::next_token()
 Flex expects the declaration of yylex() to be defined in the macro YY_DECL and C++ parser class expects it to be declared. More...
 
#define yyFlexLexer   NmodlFlexLexer
 For creating multiple (different) lexer classes, we can use -P flag (or prefix option) to rename each NmodlFlexLexer to some other name like xxFlexLexer. More...
 

Macro Definition Documentation

◆ YY_DECL

Flex expects the declaration of yylex() to be defined in the macro YY_DECL and C++ parser class expects it to be declared.

Definition at line 24 of file nmodl_lexer.hpp.

◆ yyFlexLexer

#define yyFlexLexer   NmodlFlexLexer

For creating multiple (different) lexer classes, we can use -P flag (or prefix option) to rename each NmodlFlexLexer to some other name like xxFlexLexer.

And then include <FlexLexer.h> in other sources once per lexer class, first renaming yyFlexLexer as shown below.

Definition at line 34 of file nmodl_lexer.hpp.