soulcm.scmlg Namespace

Classes

public class Action
public class Actions
public class Any
public class Char
public class Class
public class ClassLess
public class ClassMap
public class ClassesEqual
public abstract class Declaration
public class Dfa
public class DfaState
public class Expression
public class Expressions
public class Keyword
public class Keywords
public class Lexer
public class LexerContext
public class LexerFile
public class LexerStatement
public class Nfa
public class NfaEdge
public class NfaState
public abstract class Parser
public class Range
public class RangeEndLess
public class RegularExpressionParser
public abstract class Symbol
public class Token
public class Tokens
public class Usings
public class Variable
public class Visitor

Functions

public Nfa Alt(LexerContext& lexerContext, const Nfa& left, const Nfa& right)
public Nfa Cat(const Nfa& left, const Nfa& right)
public Dfa Compile(LexerContext& lexerContext, Nfa& nfa)
public List<NfaState*> EpsilonClosure(NfaState* state)
public List<NfaState*> EpsilonClosure(const List<NfaState*>& states)
public bool Intersect(const Class& left, const Class& right)
public bool Intersect(const Range& left, const Range& right)
public Nfa Kleene(LexerContext& lexerContext, const Nfa& nfa)
public const char* LexerGeneratorVersionStr()
public int MakeActionIntValue(const String<char>& fileName, const Token& token)
public void MakeAsciiIdCont(LexerContext& lexerContext)
public void MakeAsciiIdStart(LexerContext& lexerContext)
public void MakeAsciiIdentifierClasses(LexerContext& lexerContext)
public Class* MakeDifference(const Class& left, const Class& right, LexerContext& lexerContext)
public uchar MakeEscapeValue(const String<char>& fileName, const Token& token)
public String<uchar> MakeExprRefId(const String<char>& fileName, const String<uchar>& match, int line)
public String<uchar> MakeExprStringValue(const String<char>& fileName, const Token& token)
public String<char> MakeFilePath(const Lexeme& lexeme)
public Class* MakeIntertersection(const Class& left, const Class& right, LexerContext& lexerContext)
public Nfa MakeNfa(LexerContext& lexerContext, Symbol* symbol)
public String<uchar> MakePathValue(const String<char>& fileName, const Token& token)
public String<uchar> MakeStrValue(const String<char>& fileName, const Token& token)
public void MakeUnicodeIdCont(LexerContext& lexerContext)
public void MakeUnicodeIdStart(LexerContext& lexerContext)
public void MakeUnicodeIdentifierClasses(LexerContext& lexerContext)
public List<NfaState*> Move(const List<NfaState*>& states, uchar c)
public Nfa Opt(LexerContext& lexerContext, const Nfa& nfa)
public void ParseCharacterLiteral(const String<char>& fileName, const Token& token, uchar& charLit, int& charLitPrefix)
public uchar ParseEscape(const String<char>& fileName, const uchar*& p, const uchar* e, const Token& token)
public void ParseFloatingLiteral(const String<char>& fileName, const Token& token, double& floatingLit, bool& floatingLitFloat)
public void ParseHexChar(const String<char>& fileName, uchar& value, const uchar*& p, const uchar* e, const Token& token)
public void ParseIntegerLiteral(const String<char>& fileName, const Token& token, ulong& intLit, bool& intLitUnsigned)
public void ParseStringLiteral(const String<char>& fileName, const Token& token, String<uchar>& stringLit, int& stringLitPrefix)
public Nfa Pos(LexerContext& lexerContext, const Nfa& nfa)
public Range operator&(const Range& left, const Range& right)
public List<Range> operator-(const Range& left, const Range& right)
public inline bool operator<(const Range& left, const Range& right)
public bool operator==(const Class& left, const Class& right)
public inline bool operator==(const Range& left, const Range& right)
public List<Range> operator~(const Range& that)

Enumerated Types

public enum IdentifierClassKind

Constants

public const uchar eps = '\0'
public const int noPrefix = 0
public const int utf16Prefix = 1
public const int utf32Prefix = 2

Function Details

Alt Function

public Nfa Alt(LexerContext& lexerContext, const Nfa& left, const Nfa& right)

Definition
Line 131 of scmlg/Nfa.cm


Cat Function

public Nfa Cat(const Nfa& left, const Nfa& right)

Definition
Line 120 of scmlg/Nfa.cm


Compile Function

public Dfa Compile(LexerContext& lexerContext, Nfa& nfa)

Definition
Line 55 of scmlg/Algorithm.cm


EpsilonClosure Function

public List<NfaState*> EpsilonClosure(NfaState* state)

Definition
Line 34 of scmlg/Algorithm.cm


EpsilonClosure Function

public List<NfaState*> EpsilonClosure(const List<NfaState*>& states)

Definition
Line 10 of scmlg/Algorithm.cm


Intersect Function

public bool Intersect(const Class& left, const Class& right)

Definition
Line 502 of scmlg/Symbol.cm


Intersect Function

public bool Intersect(const Range& left, const Range& right)

Definition
Line 405 of scmlg/Symbol.cm


Kleene Function

public Nfa Kleene(LexerContext& lexerContext, const Nfa& nfa)

Definition
Line 151 of scmlg/Nfa.cm


LexerGeneratorVersionStr Function

public const char* LexerGeneratorVersionStr()

Definition
Line 872 of scmlg/Model.cm


MakeActionIntValue Function

public int MakeActionIntValue(const String<char>& fileName, const Token& token)

Definition
Line 214 of scmlg/TokenValueParsers.cm


MakeAsciiIdCont Function

public void MakeAsciiIdCont(LexerContext& lexerContext)

Definition
Line 18 of scmlg/IdentifierClass.cm


MakeAsciiIdStart Function

public void MakeAsciiIdStart(LexerContext& lexerContext)

Definition
Line 10 of scmlg/IdentifierClass.cm


MakeAsciiIdentifierClasses Function

public void MakeAsciiIdentifierClasses(LexerContext& lexerContext)

Definition
Line 845 of scmlg/IdentifierClass.cm


MakeDifference Function

public Class* MakeDifference(const Class& left, const Class& right, LexerContext& lexerContext)

Definition
Line 578 of scmlg/Symbol.cm


MakeEscapeValue Function

public uchar MakeEscapeValue(const String<char>& fileName, const Token& token)

Definition
Line 258 of scmlg/TokenValueParsers.cm


MakeExprRefId Function

public String<uchar> MakeExprRefId(const String<char>& fileName, const String<uchar>& match, int line)

Definition
Line 234 of scmlg/TokenValueParsers.cm


MakeExprStringValue Function

public String<uchar> MakeExprStringValue(const String<char>& fileName, const Token& token)

Definition
Line 148 of scmlg/TokenValueParsers.cm


MakeFilePath Function

public String<char> MakeFilePath(const Lexeme& lexeme)

Definition
Line 486 of scmlg/TokenValueParsers.cm


MakeIntertersection Function

public Class* MakeIntertersection(const Class& left, const Class& right, LexerContext& lexerContext)

Definition
Line 524 of scmlg/Symbol.cm


MakeNfa Function

public Nfa MakeNfa(LexerContext& lexerContext, Symbol* symbol)

Definition
Line 112 of scmlg/Nfa.cm


MakePathValue Function

public String<uchar> MakePathValue(const String<char>& fileName, const Token& token)

Definition
Line 190 of scmlg/TokenValueParsers.cm


MakeStrValue Function

public String<uchar> MakeStrValue(const String<char>& fileName, const Token& token)

Definition
Line 116 of scmlg/TokenValueParsers.cm


MakeUnicodeIdCont Function

public void MakeUnicodeIdCont(LexerContext& lexerContext)

Definition
Line 411 of scmlg/IdentifierClass.cm


MakeUnicodeIdStart Function

public void MakeUnicodeIdStart(LexerContext& lexerContext)

Definition
Line 27 of scmlg/IdentifierClass.cm


MakeUnicodeIdentifierClasses Function

public void MakeUnicodeIdentifierClasses(LexerContext& lexerContext)

Definition
Line 850 of scmlg/IdentifierClass.cm


Move Function

public List<NfaState*> Move(const List<NfaState*>& states, uchar c)

Definition
Line 39 of scmlg/Algorithm.cm


Opt Function

public Nfa Opt(LexerContext& lexerContext, const Nfa& nfa)

Definition
Line 184 of scmlg/Nfa.cm


ParseCharacterLiteral Function

public void ParseCharacterLiteral(const String<char>& fileName, const Token& token, uchar& charLit, int& charLitPrefix)

Definition
Line 363 of scmlg/TokenValueParsers.cm


ParseEscape Function

public uchar ParseEscape(const String<char>& fileName, const uchar*& p, const uchar* e, const Token& token)

Definition
Line 43 of scmlg/TokenValueParsers.cm


ParseFloatingLiteral Function

public void ParseFloatingLiteral(const String<char>& fileName, const Token& token, double& floatingLit, bool& floatingLitFloat)

Definition
Line 274 of scmlg/TokenValueParsers.cm


ParseHexChar Function

public void ParseHexChar(const String<char>& fileName, uchar& value, const uchar*& p, const uchar* e, const Token& token)

Definition
Line 14 of scmlg/TokenValueParsers.cm


ParseIntegerLiteral Function

public void ParseIntegerLiteral(const String<char>& fileName, const Token& token, ulong& intLit, bool& intLitUnsigned)

Definition
Line 297 of scmlg/TokenValueParsers.cm


ParseStringLiteral Function

public void ParseStringLiteral(const String<char>& fileName, const Token& token, String<uchar>& stringLit, int& stringLitPrefix)

Definition
Line 416 of scmlg/TokenValueParsers.cm


Pos Function

public Nfa Pos(LexerContext& lexerContext, const Nfa& nfa)

Definition
Line 168 of scmlg/Nfa.cm


operator& Function

public Range operator&(const Range& left, const Range& right)

Definition
Line 417 of scmlg/Symbol.cm


operator- Function

public List<Range> operator-(const Range& left, const Range& right)

Definition
Line 426 of scmlg/Symbol.cm


operator< Function

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

Definition
Line 151 of scmlg/Symbol.cm


operator== Function

public bool operator==(const Class& left, const Class& right)

Definition
Line 469 of scmlg/Symbol.cm


operator== Function

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

Definition
Line 147 of scmlg/Symbol.cm


operator~ Function

public List<Range> operator~(const Range& that)

Definition
Line 456 of scmlg/Symbol.cm