public static PBXElementDict ParseTreeAST(TreeAST ast, TokenList tokens, string text) { var el = new PBXElementDict(); foreach (var kv in ast.values) { PBXElementString key = ParseIdentifierAST(kv.key, tokens, text); PBXElement value = ParseValueAST(kv.value, tokens, text); el[key.value] = value; } return(el); }
public TreeAST ParseTree() { if (Tok() != TokenType.LBrace) { throw new Exception(GetErrorMsg()); } Inc(); var ast = new TreeAST(); while (Tok() != TokenType.RBrace && Tok() != TokenType.EOF) { ast.values.Add(ParseKeyValue()); } SkipIf(TokenType.RBrace); return(ast); }
public static PBXElementDict ParseTreeAST( TreeAST ast, TokenList tokens, string text ) { var el = new PBXElementDict(); foreach (var kv in ast.values) { PBXElementString key = ParseIdentifierAST( kv.key, tokens, text ); PBXElement value = ParseValueAST( kv.value, tokens, text ); el[key.value] = value; } return el; }
public TreeAST ParseTree() { if (Tok() != TokenType.LBrace) throw new Exception( GetErrorMsg() ); Inc(); var ast = new TreeAST(); while (Tok() != TokenType.RBrace && Tok() != TokenType.EOF) { ast.values.Add( ParseKeyValue() ); } SkipIf( TokenType.RBrace ); return ast; }