示例#1
0
        public IStatement parse_statement()
        {
            IParseTree      tree    = statement();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <IStatement>(tree));
        }
示例#2
0
        public IExpression parse_expression()
        {
            IParseTree      tree    = expression();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <IExpression>(tree));
        }
示例#3
0
        public AssignInstanceStatement parse_assign_instance_statement()
        {
            IParseTree      tree    = assign_instance_statement();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <AssignInstanceStatement>(tree));
        }
示例#4
0
        public NativeCall parse_native_statement()
        {
            IParseTree      tree    = native_statement();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <NativeCall>(tree));
        }
示例#5
0
        public UnresolvedCall parse_method_call_statement()
        {
            IParseTree      tree    = method_call_statement();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <UnresolvedCall>(tree));
        }
示例#6
0
        public ConcreteMethodDeclaration parse_concrete_method_declaration()
        {
            IParseTree      tree    = concrete_method_declaration();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <ConcreteMethodDeclaration>(tree));
        }
示例#7
0
        public ITypedParameter parse_typed_argument()
        {
            IParseTree      tree    = typed_argument();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <ITypedParameter>(tree));
        }
示例#8
0
        public ParameterList parse_argument_list()
        {
            IParseTree      tree    = argument_list();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <ParameterList>(tree));
        }
示例#9
0
        public CategoryDeclaration parse_category_declaration()
        {
            IParseTree      tree    = category_declaration();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <CategoryDeclaration>(tree));
        }
示例#10
0
        public AttributeDeclaration parse_attribute_declaration()
        {
            IParseTree      tree    = attribute_declaration();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <AttributeDeclaration>(tree));
        }
示例#11
0
        public RangeLiteral parse_range_literal()
        {
            IParseTree      tree    = range_literal();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <RangeLiteral>(tree));
        }
示例#12
0
        public T doParse <T>(Func <IParseTree> method)
        {
            IParseTree      tree    = method.Invoke();
            OPromptoBuilder builder = new OPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <T>(tree));
        }
示例#13
0
        IExpression parse_expression(String code)
        {
            OCleverParser   parser  = new OCleverParser(code);
            IParseTree      tree    = parser.expression();
            OPromptoBuilder builder = new OPromptoBuilder(parser);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <IExpression>(tree));
        }