コード例 #1
0
        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;  
 }