Example #1
0
        public CategoryDeclaration parse_category_declaration()
        {
            IParseTree      tree    = category_declaration();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <CategoryDeclaration>(tree));
        }
Example #2
0
        public IExpression parse_expression()
        {
            IParseTree      tree    = expression();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <IExpression>(tree));
        }
Example #3
0
        public NativeCall parse_native_statement()
        {
            IParseTree      tree    = native_statement();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <NativeCall>(tree));
        }
Example #4
0
        public IStatement parse_statement()
        {
            IParseTree      tree    = statement();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <IStatement>(tree));
        }
Example #5
0
        public ConcreteMethodDeclaration parse_concrete_method_declaration()
        {
            IParseTree      tree    = concrete_method_declaration();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <ConcreteMethodDeclaration>(tree));
        }
Example #6
0
        public AssignInstanceStatement parse_assign_instance_statement()
        {
            IParseTree      tree    = assign_instance_statement();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <AssignInstanceStatement>(tree));
        }
Example #7
0
        public ParameterList parse_argument_list()
        {
            IParseTree      tree    = full_argument_list();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <ParameterList>(tree));
        }
Example #8
0
        public UnresolvedCall parse_method_call()
        {
            IParseTree      tree    = method_call_statement();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <UnresolvedCall>(tree));
        }
Example #9
0
        public TupleLiteral parse_tuple_literal()
        {
            IParseTree      tree    = tuple_literal();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <TupleLiteral>(tree));
        }
Example #10
0
        public ITypedParameter parse_typed_argument()
        {
            IParseTree      tree    = typed_argument();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <ITypedParameter>(tree));
        }
Example #11
0
        public AttributeDeclaration parse_attribute_declaration()
        {
            IParseTree      tree    = attribute_declaration();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <AttributeDeclaration>(tree));
        }
Example #12
0
        public Argument parse_argument_assignment()
        {
            IParseTree      tree    = argument_assignment();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <Argument>(tree));
        }
Example #13
0
        public IntegerLiteral parse_atomic_literal()
        {
            IParseTree      tree    = atomic_literal();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <IntegerLiteral>(tree));
        }
Example #14
0
        public IAssignableInstance parse_assignable()
        {
            IParseTree      tree    = assignable_instance();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <IAssignableInstance>(tree));
        }
Example #15
0
        public T doParse <T>(Func <IParseTree> method, bool addLF)
        {
            getLexer().AddLF = addLF;
            IParseTree      tree    = method.Invoke();
            EPromptoBuilder builder = new EPromptoBuilder(this);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <T>(tree));
        }
Example #16
0
        JavaStatement parse_java_statement(String code)
        {
            ECleverParser   parser = new ECleverParser(code);
            ITokenStream    stream = (ITokenStream)parser.InputStream;
            EIndentingLexer lexer  = (EIndentingLexer)stream.TokenSource;

            lexer.AddLF = false;
            IParseTree      tree    = parser.java_statement();
            EPromptoBuilder builder = new EPromptoBuilder(parser);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <JavaStatement>(tree));
        }
Example #17
0
        IExpression parse_expression(String code)
        {
            ECleverParser   parser = new ECleverParser(code);
            ITokenStream    stream = (ITokenStream)parser.InputStream;
            EIndentingLexer lexer  = (EIndentingLexer)stream.TokenSource;

            lexer.AddLF = false;
            IParseTree      tree    = parser.expression();
            EPromptoBuilder builder = new EPromptoBuilder(parser);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            return(builder.GetNodeValue <IExpression>(tree));
        }
Example #18
0
        public void testSystemOutPrint()
        {
            ECleverParser   parser = new ECleverParser("System.Console.Write(value);");
            ITokenStream    stream = (ITokenStream)parser.InputStream;
            EIndentingLexer lexer  = (EIndentingLexer)stream.TokenSource;

            lexer.AddLF = false;
            IParseTree      tree    = parser.csharp_statement();
            EPromptoBuilder builder = new EPromptoBuilder(parser);
            ParseTreeWalker walker  = new ParseTreeWalker();

            walker.Walk(builder, tree);
            CSharpStatement statement = builder.GetNodeValue <CSharpStatement>(tree);
            Context         context   = Context.newGlobalsContext();
            IParameter      arg       = new CategoryParameter(TextType.Instance, "value");

            arg.register(context);
            context.setValue("value", new prompto.value.TextValue("test")); // StringLiteral trims enclosing quotes
            Object result = statement.interpret(context, null);

            Assert.IsNull(result);
            Assert.AreEqual("test", Out.read());
        }