User Guide
c11_lexer.hpp File Reference
#include "parser/c/c11_parser.hpp"
#include "FlexLexer.h"

Go to the source code of this file.

Classes

class  nmodl::parser::CLexer
 Represent Lexer/Scanner class for C (11) language parsing. More...
 

Namespaces

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

Macros

#define YY_DECL   nmodl::parser::CParser::symbol_type nmodl::parser::CLexer::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   CFlexLexer
 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 17 of file c11_lexer.hpp.

◆ yyFlexLexer

#define yyFlexLexer   CFlexLexer

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 27 of file c11_lexer.hpp.