本文整理汇总了Java中com.romanenco.cfrm.grammar.builder.GrammarJBuilder.getGrammar方法的典型用法代码示例。如果您正苦于以下问题:Java GrammarJBuilder.getGrammar方法的具体用法?Java GrammarJBuilder.getGrammar怎么用?Java GrammarJBuilder.getGrammar使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类com.romanenco.cfrm.grammar.builder.GrammarJBuilder
的用法示例。
在下文中一共展示了GrammarJBuilder.getGrammar方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getGrammar
import com.romanenco.cfrm.grammar.builder.GrammarJBuilder; //导入方法依赖的package包/类
private Grammar getGrammar() {
final GrammarJBuilder builder = new GrammarJBuilder();
builder.declareNonTerminals("E", "T", "E'", "T'", "F");
builder.declareStartSymbol("E");
builder.declareEpsilon("epsilon");
builder.addTerminal("id", new LexerRule("\\d+"));
builder.addTerminal("+", new LexerRule("\\+"));
builder.addTerminal("*", new LexerRule("\\*"));
builder.addTerminal("(", new LexerRule("\\("));
builder.addTerminal(")", new LexerRule("\\)"));
builder.addTerminal("WS", new LexerRule(" +", LexerRule.TYPE.IGNORE));
builder.addProductions("E", "T E'");
builder.addProductions("E'", "+ T E'", "epsilon");
builder.addProductions("T", "F T'");
builder.addProductions("T'", "* F T'", "epsilon");
builder.addProductions("F", "( E )", "id");
return builder.getGrammar();
}
示例2: getGrammar
import com.romanenco.cfrm.grammar.builder.GrammarJBuilder; //导入方法依赖的package包/类
private Grammar getGrammar() {
final GrammarJBuilder builder = new GrammarJBuilder();
builder.declareNonTerminals("S", "S'", "E");
builder.declareStartSymbol("S");
builder.declareEpsilon("epsilon");
builder.addTerminal("if");
builder.addTerminal("then");
builder.addTerminal("statement");
builder.addTerminal("else");
builder.addTerminal("expression");
builder.addProductions("S", "if E then S S'", "statement");
builder.addProductions("S'", "else S", "epsilon");
builder.addProductions("E", "expression");
return builder.getGrammar();
}
示例3: getGrammar
import com.romanenco.cfrm.grammar.builder.GrammarJBuilder; //导入方法依赖的package包/类
private Grammar getGrammar() {
final GrammarJBuilder builder = new GrammarJBuilder();
builder.declareNonTerminals("E", "T", "E'", "T'", "F");
builder.declareStartSymbol("E");
builder.declareEpsilon("epsilon");
builder.addTerminal("+");
builder.addTerminal("*");
builder.addTerminal("(");
builder.addTerminal(")");
builder.addTerminal("id");
builder.addProductions("E", "T E'");
builder.addProductions("E'", "+ T E'", "epsilon");
builder.addProductions("T", "F T'");
builder.addProductions("T'", "* F T'", "epsilon");
builder.addProductions("F", "( E )", "id");
return builder.getGrammar();
}
示例4: getGrammar
import com.romanenco.cfrm.grammar.builder.GrammarJBuilder; //导入方法依赖的package包/类
private Grammar getGrammar() {
final GrammarJBuilder builder = new GrammarJBuilder();
builder.addTerminal("int", new LexerRule("\\-?\\d+"));
builder.addTerminal("+", new LexerRule("\\+"));
builder.addTerminal("-", new LexerRule("\\-"));
builder.addTerminal("*", new LexerRule("\\*"));
builder.addTerminal("WS", new LexerRule(" ", LexerRule.TYPE.IGNORE));
return builder.getGrammar();
}