top | up | prev | next

NonterminalParser Class

Definition at line 247 of Parser.hpp

Constructors

NonterminalParser(const std::u32string& name_, const std::u32string& ruleName_)

Member Functions

void Accept(Visitor& visitor) override
const std::vector<soulng::cppcode::CppObject*>& Arguments() const
Parser* Clone() const override
bool IsNonterminal() const override
RuleParser* Rule() const
const std::u32string& RuleName() const
void SetArguments(soulng::cppcode::ExpressionList* args_)
void SetRule(RuleParser* rule)

Member Variables

std::vector<soulng::cppcode::CppObject*> args
std::vector<std::unique_ptr<soulng::cppcode::CppObject>> ownedArgs
RuleParser* rule
std::u32string ruleName

Constructor Details

NonterminalParser Constructor

sng2html::sng2html::NonterminalParser::NonterminalParser(const std::u32string& name_, const std::u32string& ruleName_)

Definition at line 314 of Parser.cpp :
314 : Parser(name_)ruleName(ruleName_)rule(nullptr)
315 {
316 }


Declaration at line 250 of Parser.hpp


Member Function Details

Accept Member Function

void sng2html::sng2html::NonterminalParser::Accept(Visitor & visitor) override

Definition at line 325 of Parser.cpp :
326 {
327     visitor.Visit(*this);
328 }


Declaration at line 252 of Parser.hpp

Base class overridden functions: sng2html::sng2html::Parser::Accept

Calls: sng2html::sng2html::Visitor::Visit


Arguments Member Function

const std::vector<soulng::cppcode::CppObject*>& sng2html::sng2html::NonterminalParser::Arguments() const

Definition at line 258 of Parser.hpp :
258 { return args; }

Called by: sng2html::sng2html::LinkerVisitor::Visit


Clone Member Function

Parser * sng2html::sng2html::NonterminalParser::Clone() const override

Definition at line 318 of Parser.cpp :
319 {
320     NonterminalParser* clone = new NonterminalParser(Name()ruleName);
321     clone->args = args;
322     return clone;
323 }


Declaration at line 251 of Parser.hpp

Base class overridden functions: sng2html::sng2html::Parser::Clone

Calls: sng2html::sng2html::Parser::Name


IsNonterminal Member Function

bool sng2html::sng2html::NonterminalParser::IsNonterminal() const override

Definition at line 253 of Parser.hpp :
253 { return true; }

Base class overridden functions: sng2html::sng2html::Parser::IsNonterminal


Rule Member Function

RuleParser * sng2html::sng2html::NonterminalParser::Rule() const

Definition at line 256 of Parser.hpp :
256 { return rule; }

Called by: sng2html::sng2html::GrammarHtmlGeneratorVisitor::Visit


RuleName Member Function

const std::u32string& sng2html::sng2html::NonterminalParser::RuleName() const

Definition at line 254 of Parser.hpp :
254 { return ruleName; }

Called by: sng2html::sng2html::LinkerVisitor::Visit


SetArguments Member Function

void sng2html::sng2html::NonterminalParser::SetArguments(soulng::cppcode::ExpressionList* args_)

Definition at line 330 of Parser.cpp
Declaration at line 257 of Parser.hpp

Called by: ParserFileParser::RuleCall


SetRule Member Function

void sng2html::sng2html::NonterminalParser::SetRule(RuleParser * rule)

Definition at line 255 of Parser.hpp :
255 { this->rule = rule; }

Called by: sng2html::sng2html::LinkerVisitor::Visit


top | up | prev | next