Esempio n. 1
0
 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");
 }
Esempio n. 2
0
 public JsonParser()
 {
     terminalTable = new BaseTrie(terminalCount, false);
     FillTerminalTable(terminalTable);
     symbol         = new Symbol(this);
     streamInPrefix = "";
     streamInPreLen = 0;
 }