UNPKG

871 BJavaScriptView Raw
1import Grammar from './grammar';
2
3const RuleDefinitionSign = {
4 EQUAL: 1,
5 COLON_EQUAL: 2,
6 COLON_COLON_EQUAL: 3,
7};
8
9const LiteralDefinitionSign = {
10 QUOTE: 1,
11 DOUBLE_QUOTE: 2,
12};
13
14export default class GrammarToBNF {
15
16 static get RuleDefinitionSign() {
17 return RuleDefinitionSign;
18 }
19
20 static get LiteralDefinitionSign() {
21 return LiteralDefinitionSign;
22 }
23
24 constructor() {
25 this.ruleDefinitionSign = RuleDefinitionSign.EQUAL;
26 this.literalDefinitionSign = LiteralDefinitionSign.QUOTE;
27 this.isCommaSeparator = false;
28 this.isUsingMultiplicationTokens = false;
29 this.ruleConsideredAsLineBreak = null;
30 }
31
32 /**
33 * @param {Grammar} grammar
34 * @return {string}
35 */
36 convert(grammar) {
37 return grammar.toBNF(this);
38 }
39
40}