public static void FillTerminalTable(BaseTrie terminalTable) { terminalTable.Add(Undefined, SymbolClass.None, "Undefined"); terminalTable.Add(Comma, SymbolClass.None, "Comma", ","); terminalTable.Add(LeftParen, SymbolClass.Group, "LeftParen", "("); terminalTable.Add(RightParen, SymbolClass.Group, "RightParen", ")"); terminalTable.Add(Identifier, SymbolClass.Id, "Identifier"); terminalTable.Add(IntLiteral, SymbolClass.Number, "IntLiteral"); terminalTable.Add(ppDefine, SymbolClass.Meta, "ppDefine", "#define"); terminalTable.Add(ppUndefine, SymbolClass.Meta, "ppUndefine", "#undefine"); terminalTable.Add(ppIf, SymbolClass.Meta, "ppIf", "#if"); terminalTable.Add(ppIfNot, SymbolClass.Meta, "ppIfNot", "#ifnot"); terminalTable.Add(ppElse, SymbolClass.Meta, "ppElse", "#else"); terminalTable.Add(ppElseIf, SymbolClass.Meta, "ppElseIf", "#elseif"); terminalTable.Add(ppEndIf, SymbolClass.Meta, "ppEndIf", "#endif"); terminalTable.Add(RealLiteral, SymbolClass.Number, "RealLiteral"); terminalTable.Add(ImagLiteral, SymbolClass.Number, "ImagLiteral"); terminalTable.Add(StringLiteral, SymbolClass.Text, "StringLiteral"); terminalTable.Add(CharLiteral, SymbolClass.Text, "CharLiteral"); terminalTable.Add(CommentStart, SymbolClass.Comment, "CommentStart", "/*"); terminalTable.Add(CommentSingle, SymbolClass.Comment, "CommentSingle", "%"); terminalTable.Add(EndOfLine, SymbolClass.None, "EndOfLine"); terminalTable.Add(ANYSYM, SymbolClass.None, "ANYSYM"); terminalTable.Add(EndOfInput, SymbolClass.None, "EndOfInput"); terminalTable.Add(LSqBracket, SymbolClass.None, "LSqBracket", "["); terminalTable.Add(RSqBracket, SymbolClass.None, "RSqBracket", "]"); terminalTable.Add(LCuBracket, SymbolClass.None, "LCuBracket", "{"); terminalTable.Add(RCuBracket, SymbolClass.None, "RCuBracket", "}"); terminalTable.Add(Colon, SymbolClass.None, "Colon", ":"); terminalTable.Add(TrueSym, SymbolClass.None, "TrueSym", "true"); terminalTable.Add(FalseSym, SymbolClass.None, "FalseSym", "false"); terminalTable.Add(NullSym, SymbolClass.None, "NullSym", "null"); }
public JsonParser() { terminalTable = new BaseTrie(terminalCount, false); FillTerminalTable(terminalTable); symbol = new Symbol(this); streamInPrefix = ""; streamInPreLen = 0; }