Statistics
| Revision:

svn-gvsig-desktop / trunk / org.gvsig.desktop / org.gvsig.desktop.library / org.gvsig.expressionevaluator / org.gvsig.expressionevaluator.lib / org.gvsig.expressionevaluator.lib.api / src / main / java / org / gvsig / expressionevaluator / Statement.java @ 44147

History | View | Annotate | Download (1.88 KB)

1
package org.gvsig.expressionevaluator;
2

    
3
/**
4
 *
5
 * @author jjdelcerro
6
 */
7
public interface Statement {
8

    
9
    public interface StatementContext {
10

    
11
        public Compiler getCompiler();
12

    
13
        public LexicalAnalyzer getLexicalAnalyzer();
14

    
15
        public void setCode(String id, Code code);
16

    
17
        public Code getCode(String id);
18

    
19
        public void setCodeClassifier(String classifier);
20

    
21
        public String getCodeClassifier();
22

    
23
        public CodeBuilder getCodeBuilder();
24

    
25
        public LexicalAnalyzer.Token look_token();
26

    
27
        public LexicalAnalyzer.Token next_token();
28

    
29
        public Code parse_expression();
30

    
31
        public Codes parse_expressions(String separator);
32
    }
33

    
34
    public interface Rule {
35

    
36
        public void parse(StatementContext context);
37
    }
38

    
39
    public interface CompoundRule extends Rule {
40

    
41
        public CompoundRule addRule(Rule rule);
42
    }
43

    
44
    public interface ConditionalRule extends Rule {
45

    
46
        public ConditionalRule addRuleOnTrue(Rule rule);
47

    
48
        public ConditionalRule addRuleOnFalse(Rule rule);
49
    }
50

    
51
    public interface ArgsBuilder {
52

    
53
        public Codes build(StatementContext context);
54
    }
55

    
56

    
57
    public String getName();
58

    
59
    public Statement addRule(Rule rule);
60

    
61
    public Rule require_any_token(String... token);
62

    
63
    public CompoundRule repeat_until_any_tokens(String... token);
64

    
65
    public Rule require_identifier(String id);
66

    
67
    public Rule require_expression(String id);
68

    
69
    public Rule require_expressions(String id, String separator);
70

    
71
    public ConditionalRule optional_any_token(String... id);
72

    
73
    public Rule optional_identifiers(String id, String separator);
74

    
75
    public ArgsBuilder args_names(String... args);
76
    
77
    public ArgsBuilder args_expand(String... args);
78
    
79
    public void code(String id, ArgsBuilder argsBuilder);
80

    
81
    public Code parse(StatementContext context);
82

    
83
    public boolean isApplicable(StatementContext context);
84

    
85

    
86
}