UNPKG

java-parser

Version:

Java Parser in JavaScript

35 lines (30 loc) 881 B
"use strict"; const { tokenMatcher } = require("chevrotain"); function defineRules($, t) { // https://docs.oracle.com/javase/specs/jls/se11/html/jls-10.html#jls-ArrayInitializer $.RULE("arrayInitializer", () => { $.CONSUME(t.LCurly); $.OPTION(() => { $.SUBRULE($.variableInitializerList); }); $.OPTION2(() => { $.CONSUME(t.Comma); }); $.CONSUME(t.RCurly); }); // https://docs.oracle.com/javase/specs/jls/se11/html/jls-10.html#jls-VariableInitializerList $.RULE("variableInitializerList", () => { $.SUBRULE($.variableInitializer); $.MANY({ // The optional last "Comma" of an "arrayInitializer" GATE: () => tokenMatcher(this.LA(2).tokenType, t.RCurly) === false, DEF: () => { $.CONSUME(t.Comma); $.SUBRULE2($.variableInitializer); } }); }); } module.exports = { defineRules };