top | up | prev | next

sng2html Namespace

Classes

class Action
class ActionParser
class Actions
class Alt
class AlternativeParser
class Any
class BinaryParser
class BinaryRegExpression
class Cat
class Char
class CharParser
class CharSet
class CharSetParser
class Class
class ClassMap
class Declaration
class DifferenceParser
class Domain
class EmptyParser
class ExpectationParser
class Expression
class Expressions
class Grammar
class GrammarHtmlGeneratorVisitor
class GrammarParser
class GroupingParser
class Include
class IncludeDeclaration
class Keyword
class Keywords
class Kleene
class KleeneParser
class Lexer
class LexerContext
class LexerFile
class LexerStatement
class LexerVariable
class LinkerVisitor
class ListParser
class NonterminalParser
class Opt
class OptionalParser
struct Parameter
class ParenExpr
class Parser
class ParserFile
class Pos
class PositiveParser
class Prefix
class Project
class ProjectFile
class Range
class RefExpr
class RegExpression
class Rule
class RuleParser
class SequenceParser
class StringParser
class Symbol
class SymbolExpr
struct Token
class TokenIdResolverVisitor
class TokenParser
class Tokens
class UnaryParser
class UnaryRegExpression
struct Variable
class Visitor

Functions

void AppendRuleName(sngxml::dom::Element* parent, const std::u32string& name)
const char* LexerGeneratorVersionStr()
int MakeActionIntValue(const std::string& fileName, const soulng::lexer::Token& token)
void MakeAsciiIdCont(LexerContext& lexerContext)
void MakeAsciiIdStart(LexerContext& lexerContext)
void MakeAsciiIdentifierClasses(LexerContext& lexerContext)
char32_t MakeEscapeValue(const std::string& fileName, const soulng::lexer::Token& token)
std::u32string MakeExprRefId(const std::string& fileName, const std::u32string& match, int line)
std::u32string MakeExprStringValue(const std::string& fileName, const soulng::lexer::Token& token)
std::string MakeFilePath(const std::string& fileName, const soulng::lexer::Token& token)
std::u32string MakePathValue(const std::string& fileName, const soulng::lexer::Token& token)
std::u32string MakeStrValue(const std::string& fileName, const soulng::lexer::Token& token)
void MakeUnicodeIdCont(LexerContext& lexerContext)
void MakeUnicodeIdStart(LexerContext& lexerContext)
void MakeUnicodeIdentifierClasses(LexerContext& lexerContext)
char32_t ParseCharLiteral(const std::string& fileName, const soulng::lexer::Token& token)
CharSet ParseCharSet(const std::string& fileName, const soulng::lexer::Token& token, const std::u32string& str)
char32_t ParseEscape(const std::string& fileName, const char32_t*& p, const char32_t* e, const soulng::lexer::Token& token)
void ParseHexChar(const std::string& fileName, char32_t& value, const char32_t*& p, const char32_t* e, const soulng::lexer::Token& token)
std::u32string ParseStringLiteral(const std::string& fileName, const soulng::lexer::Token& token)
bool operator<(const Range& left, const Range& right) inline
bool operator==(const Range& left, const Range& right) inline

Enumerations

enum class IdentifierClassKind

Function Details

AppendRuleName Function

void sng2html::sng2html::AppendRuleName(sngxml::dom::Element* parent, const std::u32string& name)

Definition at line 23 of GrammarHtmlGenerator.cpp :
 24 {
 25     for (char32_t c : name)
 26     {
 27         switch (c)
 28         {
 29             case '-': parent->AppendChild(std::unique_ptr<sngxml::dom::Node>(new sngxml::dom::EntityReference(U"#8209"))); break;
 30             default: parent->AppendChild(std::unique_ptr<sngxml::dom::Node>(new sngxml::dom::Text(std::u32string(1c))));
 31         }
 32     }
 33 }


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


LexerGeneratorVersionStr Function

const char * sng2html::sng2html::LexerGeneratorVersionStr()

Definition at line 19 of LexerFile.cpp :
 20 {
 21     return "3.0.0";
 22 }


Declaration at line 20 of LexerFile.hpp


MakeActionIntValue Function

int sng2html::sng2html::MakeActionIntValue(const std::string& fileName, const soulng::lexer::Token& token)

Definition at line 210 of TokenValueParsers.cpp
Declaration at line 16 of TokenValueParsers.hpp

Called by: LexerFileParser::Action


MakeAsciiIdCont Function

void sng2html::sng2html::MakeAsciiIdCont(LexerContext & lexerContext)

Definition at line 18 of Identifier.cpp :
 19 {
 20     Class* idCont = lexerContext.MakeIdCont();
 21     idCont->AddSymbol(lexerContext.MakeRange('A''Z'));
 22     idCont->AddSymbol(lexerContext.MakeRange('a''z'));
 23     idCont->AddSymbol(lexerContext.MakeRange('0''9'));
 24     idCont->AddSymbol(lexerContext.MakeChar('_'));
 25 }


Calls: sng2html::sng2html::Class::AddSymbol , sng2html::sng2html::LexerContext::MakeChar , sng2html::sng2html::LexerContext::MakeIdCont , sng2html::sng2html::LexerContext::MakeRange


MakeAsciiIdStart Function

void sng2html::sng2html::MakeAsciiIdStart(LexerContext & lexerContext)

Definition at line 10 of Identifier.cpp :
 11 {
 12     Class* idStart = lexerContext.MakeIdStart();
 13     idStart->AddSymbol(lexerContext.MakeRange('A''Z'));
 14     idStart->AddSymbol(lexerContext.MakeRange('a''z'));
 15     idStart->AddSymbol(lexerContext.MakeChar('_'));
 16 }


Calls: sng2html::sng2html::Class::AddSymbol , sng2html::sng2html::LexerContext::MakeChar , sng2html::sng2html::LexerContext::MakeIdStart , sng2html::sng2html::LexerContext::MakeRange


MakeAsciiIdentifierClasses Function

void sng2html::sng2html::MakeAsciiIdentifierClasses(LexerContext & lexerContext)

Definition at line 845 of Identifier.cpp :
846 {
847     MakeAsciiIdStart(lexerContext);
848     MakeAsciiIdCont(lexerContext);
849 }


Declaration at line 12 of Identifier.hpp


MakeEscapeValue Function

char32_t sng2html::sng2html::MakeEscapeValue(const std::string& fileName, const soulng::lexer::Token& token)

Definition at line 256 of TokenValueParsers.cpp
Declaration at line 18 of TokenValueParsers.hpp

Called by: RegExParser::Char , RegExParser::Primary


MakeExprRefId Function

std::u32string sng2html::sng2html::MakeExprRefId(const std::string& fileName, const std::u32string& match, int line)

Definition at line 231 of TokenValueParsers.cpp
Declaration at line 17 of TokenValueParsers.hpp

Called by: RegExParser::ExpressionReference


MakeExprStringValue Function

std::u32string sng2html::sng2html::MakeExprStringValue(const std::string& fileName, const soulng::lexer::Token& token)

Definition at line 142 of TokenValueParsers.cpp
Declaration at line 14 of TokenValueParsers.hpp

Called by: LexerFileParser::ExprString


MakeFilePath Function

std::string sng2html::sng2html::MakeFilePath(const std::string& fileName, const soulng::lexer::Token& token)

Definition at line 273 of TokenValueParsers.cpp
Declaration at line 19 of TokenValueParsers.hpp

Called by: ProjectFileLexer::GetTokenId


MakePathValue Function

std::u32string sng2html::sng2html::MakePathValue(const std::string& fileName, const soulng::lexer::Token& token)

Definition at line 185 of TokenValueParsers.cpp
Declaration at line 15 of TokenValueParsers.hpp


MakeStrValue Function

std::u32string sng2html::sng2html::MakeStrValue(const std::string& fileName, const soulng::lexer::Token& token)

Definition at line 109 of TokenValueParsers.cpp
Declaration at line 13 of TokenValueParsers.hpp

Called by: LexerFileParser::Keyword , LexerFileParser::Token


MakeUnicodeIdCont Function

void sng2html::sng2html::MakeUnicodeIdCont(LexerContext & lexerContext)

Definition at line 411 of Identifier.cpp

Calls: sng2html::sng2html::Class::AddSymbol , sng2html::sng2html::LexerContext::MakeIdCont , sng2html::sng2html::LexerContext::MakeRange


MakeUnicodeIdStart Function

void sng2html::sng2html::MakeUnicodeIdStart(LexerContext & lexerContext)

Definition at line 27 of Identifier.cpp

Calls: sng2html::sng2html::Class::AddSymbol , sng2html::sng2html::LexerContext::MakeIdStart , sng2html::sng2html::LexerContext::MakeRange


MakeUnicodeIdentifierClasses Function

void sng2html::sng2html::MakeUnicodeIdentifierClasses(LexerContext & lexerContext)

Definition at line 851 of Identifier.cpp :
852 {
853     MakeUnicodeIdStart(lexerContext);
854     MakeUnicodeIdCont(lexerContext);
855 }


Declaration at line 13 of Identifier.hpp


ParseCharLiteral Function

char32_t sng2html::sng2html::ParseCharLiteral(const std::string& fileName, const soulng::lexer::Token& token)

Definition at line 335 of TokenValueParsers.cpp
Declaration at line 21 of TokenValueParsers.hpp

Called by: ParserFileParser::Primitive


ParseCharSet Function

CharSet sng2html::sng2html::ParseCharSet(const std::string& fileName, const soulng::lexer::Token& token, const std::u32string& str)

Definition at line 389 of TokenValueParsers.cpp
Declaration at line 22 of TokenValueParsers.hpp

Calls: sng2html::sng2html::CharSet::AddRange , sng2html::sng2html::CharSet::SetInverse

Called by: ParserFileParser::Primitive


ParseEscape Function

char32_t sng2html::sng2html::ParseEscape(const std::string& fileName, const char32_t *& p, const char32_t * e, const soulng::lexer::Token& token)

Definition at line 43 of TokenValueParsers.cpp


ParseHexChar Function

void sng2html::sng2html::ParseHexChar(const std::string& fileName, char32_t & value, const char32_t *& p, const char32_t * e, const soulng::lexer::Token& token)

Definition at line 13 of TokenValueParsers.cpp


ParseStringLiteral Function

std::u32string sng2html::sng2html::ParseStringLiteral(const std::string& fileName, const soulng::lexer::Token& token)

Definition at line 298 of TokenValueParsers.cpp
Declaration at line 20 of TokenValueParsers.hpp

Called by: ParserFileParser::Primitive , ParserFileParser::RuleInfo


operator< Function

bool sng2html::sng2html::operator<(const Range & left, const Range & right) inline

Definition at line 67 of Symbol.hpp :
68 {
69     if (left.Start() < right.Start()) return true;
70     if (left.Start() > right.Start()) return false;
71     return left.End() < right.End();
72 }


Calls: sng2html::sng2html::Range::End , sng2html::sng2html::Range::Start


operator== Function

bool sng2html::sng2html::operator==(const Range & left, const Range & right) inline

Definition at line 62 of Symbol.hpp :
63 {
64     return left.Start() == right.Start() && left.End() == right.End();
65 }


Calls: sng2html::sng2html::Range::End , sng2html::sng2html::Range::Start


top | up | prev | next