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);
        }
示例#2
0
 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;
 }
示例#4
0
        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;
        }