User Guide
nmodl::parser::DiffeqLexer Class Reference

Represent Lexer/Scanner class for differential equation parsing. More...

Detailed Description

Represent Lexer/Scanner class for differential equation parsing.

Lexer defined to add some extra function to the scanner class from flex. At the moment we are using basic functionality but it could be easily extended for further development.

Definition at line 47 of file diffeq_lexer.hpp.

#include <diffeq_lexer.hpp>

Inheritance diagram for nmodl::parser::DiffeqLexer:

Public Member Functions

virtual DiffeqParser::symbol_type next_token ()
 Function for lexer to scan token (replacement for yylex()) More...
 
Ctor & dtor
 DiffeqLexer (std::istream *in=nullptr, std::ostream *out=nullptr)
 
 ~DiffeqLexer () override=default
 

Public Attributes

location loc
 location of the parsed token More...
 

Constructor & Destructor Documentation

◆ DiffeqLexer()

nmodl::parser::DiffeqLexer::DiffeqLexer ( std::istream *  in = nullptr,
std::ostream *  out = nullptr 
)
inline

Definition at line 61 of file diffeq_lexer.hpp.

◆ ~DiffeqLexer()

nmodl::parser::DiffeqLexer::~DiffeqLexer ( )
overridedefault

Member Function Documentation

◆ next_token()

virtual DiffeqParser::symbol_type nmodl::parser::DiffeqLexer::next_token ( )
virtual

Function for lexer to scan token (replacement for yylex())

This is main lexing function generated by flex according to the macro declaration YY_DECL. The generated bison parser then calls this virtual function to fetch new tokens. Note that yylex() has different declaration and hence can't be used for new lexer.

Returns
Symbol encapsulating parsed token

Member Data Documentation

◆ loc

location nmodl::parser::DiffeqLexer::loc

location of the parsed token

Definition at line 50 of file diffeq_lexer.hpp.


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