Package net.sf.laja.parser.engine2.element

Examples of net.sf.laja.parser.engine2.element.OrList


    // *** Declarations and Statements ***
    Repeat integer = new Repeat(1, "integer");
    ElementList number = new ElementList(2, "number");
    ElementList oneArgumentFunction = new ElementList(3, "oneArgumentFunction");
    ElementList twoArgumentsFunction = new ElementList(4, "twoArgumentsFunction");
    OrList expression1 = new OrList(5, "expression1");
    ElementList expression2 = new ElementList(6, "expression2");
    ElementList expression3 = new ElementList(7, "expression3");
    ElementList expression = new ElementList(8, "expression");

    // integer = "0".."9"+
    integer.add(10, new Range(9, "integer", "0", "9"));

    // number = integer ["." integer]
    number.add(11, integer);
    Optional number_1 = new Optional(12, "number_1");
    number_1.add(14, new Str(13, "."));
    number_1.add(15, integer);
    number.add(16, number_1);

    // oneArgumentFunction =
    //   ("abs":abs | "acos":acos | "asin":asin | "atan":atan |
    //   "ceil":ceil | "cos":cos | "exp":exp | "floor":floor | "log":log |
    //   "rint":rint | "round":round | "sin":sin | "sqrt":sqrt |
    //   "tan":tan | "toDegrees":toDegrees | "toRadians":toRadians) "(" expression:argument ")"
    OrList oneArgumentFunction_1 = new OrList(17, "oneArgumentFunction_1");
    oneArgumentFunction_1.add(19, new Str(18, "abs", oneArgumentFunctionOneArgumentFunctionAbs));
    oneArgumentFunction_1.add(21, new Str(20, "acos", oneArgumentFunctionOneArgumentFunctionAcos));
    oneArgumentFunction_1.add(23, new Str(22, "asin", oneArgumentFunctionOneArgumentFunctionAsin));
    oneArgumentFunction_1.add(25, new Str(24, "atan", oneArgumentFunctionOneArgumentFunctionAtan));
    oneArgumentFunction_1.add(27, new Str(26, "ceil", oneArgumentFunctionOneArgumentFunctionCeil));
    oneArgumentFunction_1.add(29, new Str(28, "cos", oneArgumentFunctionOneArgumentFunctionCos));
    oneArgumentFunction_1.add(31, new Str(30, "exp", oneArgumentFunctionOneArgumentFunctionExp));
    oneArgumentFunction_1.add(33, new Str(32, "floor", oneArgumentFunctionOneArgumentFunctionFloor));
    oneArgumentFunction_1.add(35, new Str(34, "log", oneArgumentFunctionOneArgumentFunctionLog));
    oneArgumentFunction_1.add(37, new Str(36, "rint", oneArgumentFunctionOneArgumentFunctionRint));
    oneArgumentFunction_1.add(39, new Str(38, "round", oneArgumentFunctionOneArgumentFunctionRound));
    oneArgumentFunction_1.add(41, new Str(40, "sin", oneArgumentFunctionOneArgumentFunctionSin));
    oneArgumentFunction_1.add(43, new Str(42, "sqrt", oneArgumentFunctionOneArgumentFunctionSqrt));
    oneArgumentFunction_1.add(45, new Str(44, "tan", oneArgumentFunctionOneArgumentFunctionTan));
    oneArgumentFunction_1.add(47, new Str(46, "toDegrees", oneArgumentFunctionOneArgumentFunctionToDegrees));
    oneArgumentFunction_1.add(49, new Str(48, "toRadians", oneArgumentFunctionOneArgumentFunctionToRadians));
    oneArgumentFunction.add(50, oneArgumentFunction_1);
    oneArgumentFunction.add(52, new Str(51, "("));
    oneArgumentFunction.add(53, expression, oneArgumentFunctionOneArgumentFunctionArgument);
    oneArgumentFunction.add(55, new Str(54, ")"));

    // twoArgumentsFunction =
    //   ("atan2":atan2 | "IEEEremainder":ieeeRemainder | "max":max | "min":min |
    //   "pow":pow) "(" expression:arg1 "," expression:arg2 ")"
    OrList twoArgumentsFunction_1 = new OrList(56, "twoArgumentsFunction_1");
    twoArgumentsFunction_1.add(58, new Str(57, "atan2", twoArgumentsFunctionTwoArgumentsFunctionAtan2));
    twoArgumentsFunction_1.add(60, new Str(59, "IEEEremainder"));
    twoArgumentsFunction_1.add(62, new Str(61, "max", twoArgumentsFunctionTwoArgumentsFunctionMax));
    twoArgumentsFunction_1.add(64, new Str(63, "min", twoArgumentsFunctionTwoArgumentsFunctionMin));
    twoArgumentsFunction_1.add(66, new Str(65, "pow", twoArgumentsFunctionTwoArgumentsFunctionPow));
    twoArgumentsFunction.add(67, twoArgumentsFunction_1);
    twoArgumentsFunction.add(69, new Str(68, "("));
    twoArgumentsFunction.add(70, expression, twoArgumentsFunctionTwoArgumentsFunctionArg1);
    twoArgumentsFunction.add(72, new Str(71, ","));
    twoArgumentsFunction.add(73, expression, twoArgumentsFunctionTwoArgumentsFunctionArg2);
    twoArgumentsFunction.add(75, new Str(74, ")"));

    // expression1 = "random()":random | oneArgumentFunction | twoArgumentsFunction | number | ("(" expression ")")
    expression1.add(77, new Str(76, "random()", expression1Expression1Random));
    expression1.add(78, oneArgumentFunction, expression1Expression1OneArgumentFunction);
    expression1.add(79, twoArgumentsFunction, expression1Expression1TwoArgumentsFunction);
    expression1.add(80, number, expression1Expression1Number);
    ElementList expression1_1 = new ElementList(81, "expression1_1");
    expression1_1.add(83, new Str(82, "("));
    expression1_1.add(84, expression, expression1Expression1Expression);
    expression1_1.add(86, new Str(85, ")"));
    expression1.add(87, expression1_1);

    // expression2 = expression1 ["^":expo expression1]+
    expression2.add(88, expression1, expression2Expression2Expression1);
    Optional expression2_1 = new Optional(89, "expression2_1");
    Repeat expression2_1_1 = new Repeat(90, "expression2_1_1");
    expression2_1_1.add(92, new Str(91, "^", expression2Expression2Expo));
    expression2_1_1.add(93, expression1, expression2Expression2Expression1);
    expression2_1.add(94, expression2_1_1);
    expression2.add(95, expression2_1);

    // expression3 = :plus expression2 ["*":mul | "/":div | "%":mod expression2]+
    expression3.add(97, new Marker(96, "plus", expression3Expression3Plus));
    expression3.add(98, expression2, expression3Expression3Expression2);
    Optional expression3_1 = new Optional(99, "expression3_1");
    Repeat expression3_1_1 = new Repeat(100, "expression3_1_1");
    OrList expression3_1_1_1 = new OrList(101, "expression3_1_1_1");
    expression3_1_1_1.add(103, new Str(102, "*", expression3Expression3Mul));
    expression3_1_1_1.add(105, new Str(104, "/", expression3Expression3Div));
    expression3_1_1_1.add(107, new Str(106, "%", expression3Expression3Mod));
    expression3_1_1.add(108, expression3_1_1_1);
    expression3_1_1.add(109, expression2, expression3Expression3Expression2);
    expression3_1.add(110, expression3_1_1);
    expression3.add(111, expression3_1);

    // expression = expression3 ["+":plus | "-":minus expression3]+
    expression.add(112, expression3, expressionExpressionExpression3);
    Optional expression_1 = new Optional(113, "expression_1");
    Repeat expression_1_1 = new Repeat(114, "expression_1_1");
    OrList expression_1_1_1 = new OrList(115, "expression_1_1_1");
    expression_1_1_1.add(117, new Str(116, "+", expressionExpressionPlus));
    expression_1_1_1.add(119, new Str(118, "-", expressionExpressionMinus));
    expression_1_1.add(120, expression_1_1_1);
    expression_1_1.add(121, expression3, expressionExpressionExpression3);
    expression_1.add(122, expression_1_1);
    expression.add(123, expression_1);

View Full Code Here


    // *** Declarations and Statements ***
    Repeat integer = new Repeat(1, "integer");
    ElementList number = new ElementList(2, "number");
    ElementList oneArgumentFunction = new ElementList(3, "oneArgumentFunction");
    ElementList twoArgumentsFunction = new ElementList(4, "twoArgumentsFunction");
    OrList expression1 = new OrList(5, "expression1");
    ElementList expression2 = new ElementList(6, "expression2");
    ElementList expression3 = new ElementList(7, "expression3");
    ElementList expression = new ElementList(8, "expression");

    // integer = "0".."9"+
    integer.add(10, new Range(9, "integer", "0", "9"));

    // number = integer ["." integer]
    number.add(11, integer);
    Optional number_1 = new Optional(12, "number_1");
    number_1.add(14, new Str(13, "."));
    number_1.add(15, integer);
    number.add(16, number_1);

    // oneArgumentFunction =
    //   ("abs":abs | "acos":acos | "asin":asin | "atan":atan |
    //   "ceil":ceil | "cos":cos | "exp":exp | "floor":floor | "log":log |
    //   "rint":rint | "round":round | "sin":sin | "sqrt":sqrt |
    //   "tan":tan | "toDegrees":toDegrees | "toRadians":toRadians) "(" expression:argument ")"
    OrList oneArgumentFunction_1 = new OrList(17, "oneArgumentFunction_1");
    oneArgumentFunction_1.add(19, new Str(18, "abs"));
    oneArgumentFunction_1.add(21, new Str(20, "acos"));
    oneArgumentFunction_1.add(23, new Str(22, "asin"));
    oneArgumentFunction_1.add(25, new Str(24, "atan"));
    oneArgumentFunction_1.add(27, new Str(26, "ceil"));
    oneArgumentFunction_1.add(29, new Str(28, "cos"));
    oneArgumentFunction_1.add(31, new Str(30, "exp"));
    oneArgumentFunction_1.add(33, new Str(32, "floor"));
    oneArgumentFunction_1.add(35, new Str(34, "log"));
    oneArgumentFunction_1.add(37, new Str(36, "rint"));
    oneArgumentFunction_1.add(39, new Str(38, "round"));
    oneArgumentFunction_1.add(41, new Str(40, "sin"));
    oneArgumentFunction_1.add(43, new Str(42, "sqrt"));
    oneArgumentFunction_1.add(45, new Str(44, "tan"));
    oneArgumentFunction_1.add(47, new Str(46, "toDegrees"));
    oneArgumentFunction_1.add(49, new Str(48, "toRadians"));
    oneArgumentFunction.add(50, oneArgumentFunction_1);
    oneArgumentFunction.add(52, new Str(51, "("));
    oneArgumentFunction.add(53, expression);
    oneArgumentFunction.add(55, new Str(54, ")"));

    // twoArgumentsFunction =
    //   ("atan2":atan2 | "IEEEremainder":ieeeRemainder | "max":max | "min":min |
    //   "pow":pow) "(" expression:arg1 "," expression:arg2 ")"
    OrList twoArgumentsFunction_1 = new OrList(56, "twoArgumentsFunction_1");
    twoArgumentsFunction_1.add(58, new Str(57, "atan2"));
    twoArgumentsFunction_1.add(60, new Str(59, "IEEEremainder"));
    twoArgumentsFunction_1.add(62, new Str(61, "max"));
    twoArgumentsFunction_1.add(64, new Str(63, "min"));
    twoArgumentsFunction_1.add(66, new Str(65, "pow"));
    twoArgumentsFunction.add(67, twoArgumentsFunction_1);
    twoArgumentsFunction.add(69, new Str(68, "("));
    twoArgumentsFunction.add(70, expression);
    twoArgumentsFunction.add(72, new Str(71, ","));
    twoArgumentsFunction.add(73, expression);
    twoArgumentsFunction.add(75, new Str(74, ")"));

    // expression1 = "random()":random | oneArgumentFunction | twoArgumentsFunction | number | ("(" expression ")")
    expression1.add(77, new Str(76, "random()"));
    expression1.add(78, oneArgumentFunction);
    expression1.add(79, twoArgumentsFunction);
    expression1.add(80, number);
    ElementList expression1_1 = new ElementList(81, "expression1_1");
    expression1_1.add(83, new Str(82, "("));
    expression1_1.add(84, expression);
    expression1_1.add(86, new Str(85, ")"));
    expression1.add(87, expression1_1);

    // expression2 = expression1 ["^":expo expression1]+
    expression2.add(88, expression1);
    Optional expression2_1 = new Optional(89, "expression2_1");
    Repeat expression2_1_1 = new Repeat(90, "expression2_1_1");
    expression2_1_1.add(92, new Str(91, "^"));
    expression2_1_1.add(93, expression1);
    expression2_1.add(94, expression2_1_1);
    expression2.add(95, expression2_1);

    // expression3 = :plus expression2 ["*":mul | "/":div | "%":mod expression2]+
    expression3.add(97, new Marker(96, "plus"));
    expression3.add(98, expression2);
    Optional expression3_1 = new Optional(99, "expression3_1");
    Repeat expression3_1_1 = new Repeat(100, "expression3_1_1");
    OrList expression3_1_1_1 = new OrList(101, "expression3_1_1_1");
    expression3_1_1_1.add(103, new Str(102, "*"));
    expression3_1_1_1.add(105, new Str(104, "/"));
    expression3_1_1_1.add(107, new Str(106, "%"));
    expression3_1_1.add(108, expression3_1_1_1);
    expression3_1_1.add(109, expression2);
    expression3_1.add(110, expression3_1_1);
    expression3.add(111, expression3_1);

    // expression = expression3 ["+":plus | "-":minus expression3]+
    expression.add(112, expression3);
    Optional expression_1 = new Optional(113, "expression_1");
    Repeat expression_1_1 = new Repeat(114, "expression_1_1");
    OrList expression_1_1_1 = new OrList(115, "expression_1_1_1");
    expression_1_1_1.add(117, new Str(116, "+"));
    expression_1_1_1.add(119, new Str(118, "-"));
    expression_1_1.add(120, expression_1_1_1);
    expression_1_1.add(121, expression3);
    expression_1.add(122, expression_1_1);
    expression.add(123, expression_1);

View Full Code Here

        Data.GrammarGrammarOutputmethod grammarGrammarOutputmethod = data2.new GrammarGrammarOutputmethod("grammarGrammarOutputmethod");
        Data.GrammarGrammarOutputvar grammarGrammarOutputvar = data2.new GrammarGrammarOutputvar("grammarGrammarOutputvar");
        Data.RepeatsRepeatsInteger repeatsRepeatsInteger = data2.new RepeatsRepeatsInteger("repeatsRepeatsInteger");

        // *** Declarations ***
        OrList newline = new OrList(1, "newline", grammarNewline);
        OrList comment = new OrList(2, "comment");
        Repeat ws = new Repeat(3, "ws");
        Optional s = new Optional(4, "s");
        Range digit = new Range(5, "digit", "0", "9");
        Repeat integer = new Repeat(6, "integer", integerInteger);
        Range lower = new Range(7, "lower", "a", "z");
        Range upper = new Range(8, "upper", "A", "Z");
        Optional xname = new Optional(9, "xname");
        ElementList lname = new ElementList(10, "lname");
        ElementList uname = new ElementList(11, "uname");
        Str ff = new Str(12, "\"");
        ElementList str = new ElementList(13, "str");
        ElementList reference = new ElementList(14, "reference");
        ElementList variable = new ElementList(15, "variable");
        OrList range1 = new OrList(16, "range1");
        ElementList range = new ElementList(17, "range");
        Str end = new Str(18, "END");
        Str complete = new Str(19, "*");
        ElementList repeats = new ElementList(20, "repeats");
        ElementList valx = new ElementList(21, "valx");
        ElementList marker = new ElementList(22, "marker");
        ElementList valprim = new ElementList(23, "valprim");
        ElementList valpar = new ElementList(24, "valpar");
        ElementList valor = new ElementList(25, "valor");
        ElementList valopt = new ElementList(26, "valopt");
        ElementList valand = new ElementList(27, "valand");
        Repeat valstmt = new Repeat(28, "valstmt");
        ElementList val = new ElementList(29, "val");
        ElementList def = new ElementList(30, "def");
        ElementList classvar = new ElementList(31, "classvar");
        ElementList constructor = new ElementList(32, "constructor");
        ElementList outputclass = new ElementList(33, "outputclass");
        ElementList omarg = new ElementList(34, "omarg");
        ElementList outputmethod = new ElementList(35, "outputmethod");
        ElementList outputvar = new ElementList(36, "outputvar");
        ElementList grammar = new ElementList(37, "grammar");

        // *** Statements ***

        // newline = "\r\n" | "\n"
        newline.add(39, new Str(38, "\r\n"));
        newline.add(41, new Str(40, "\n"));

        // comment = ("/*" [(comment | !"*/")+] "*/") | ("//" [!newline+] newline|END)
        ElementList comment_1 = new ElementList(42, "comment_1");
        comment_1.add(44, new Str(43, "/*"));
        Optional comment_1_1 = new Optional(45, "comment_1_1");
        Repeat comment_1_1_1 = new Repeat(46, "comment_1_1_1");
        OrList comment_1_1_1_1 = new OrList(47, "comment_1_1_1_1");
        comment_1_1_1_1.add(48, comment);
        comment_1_1_1_1.add(50, new Str(49, "*/", NOT));
        comment_1_1_1.add(51, comment_1_1_1_1);
        comment_1_1.add(52, comment_1_1_1);
        comment_1.add(53, comment_1_1);
        comment_1.add(55, new Str(54, "*/"));
        comment.add(56, comment_1);
        ElementList comment_2 = new ElementList(57, "comment_2");
        comment_2.add(59, new Str(58, "//"));
        Optional comment_2_1 = new Optional(60, "comment_2_1");
        Repeat comment_2_1_1 = new Repeat(61, "comment_2_1_1");
        comment_2_1_1.add(62, newline, NOT);
        comment_2_1.add(63, comment_2_1_1);
        comment_2.add(64, comment_2_1);
        OrList comment_2_2 = new OrList(65, "comment_2_2");
        comment_2_2.add(66, newline);
        comment_2_2.add(68, new End(67, "comment_2_2"));
        comment_2.add(69, comment_2_2);
        comment.add(70, comment_2);

        // ws = (newline | " " | "\t" | comment)+
        OrList ws_1 = new OrList(71, "ws_1");
        ws_1.add(72, newline);
        ws_1.add(74, new Str(73, " "));
        ws_1.add(76, new Str(75, "\t"));
        ws_1.add(77, comment);
        ws.add(78, ws_1);

        // s = [ws]
        s.add(79, ws);

        // digit = "0".."9"

        // integer = digit+
        integer.add(80, digit);

        // lower = "a".."z"

        // upper = "A".."Z"

        // xname = [lower|upper|digit]+
        Repeat xname_1 = new Repeat(81, "xname_1");
        OrList xname_1_1 = new OrList(82, "xname_1_1");
        xname_1_1.add(83, lower);
        xname_1_1.add(84, upper);
        xname_1_1.add(85, digit);
        xname_1.add(86, xname_1_1);
        xname.add(87, xname_1);

        // lname = lower xname
        lname.add(88, lower);
        lname.add(89, xname);

        // uname = upper xname
        uname.add(90, upper);
        uname.add(91, xname);

        // ff = "\""

        // str = ff (("\\\"" | !(ff|newline))+):strval ff
        str.add(92, ff);
        Repeat str_1 = new Repeat(93, "str_1", strStrStrval);
        OrList str_1_1 = new OrList(94, "str_1_1");
        str_1_1.add(96, new Str(95, "\\\""));
        OrList str_1_1_1 = new OrList(97, "str_1_1_1", NOT);
        str_1_1_1.add(98, ff);
        str_1_1_1.add(99, newline);
        str_1_1.add(100, str_1_1_1);
        str_1.add(101, str_1_1);
        str.add(102, str_1);
        str.add(103, ff);

        // reference = lname
        reference.add(104, lname, referenceReference);

        // variable = "$" lname:name
        variable.add(106, new Str(105, "$"));
        variable.add(107, lname, variableVariableName);

        // range1 = integer|str
        range1.add(108, integer, range1Range1Integer);
        range1.add(109, str, range1Range1Str);

        // range = range1 ".." range1
        range.add(110, range1, rangeRangeRange1);
        range.add(112, new Str(111, ".."));
        range.add(113, range1, rangeRangeRange1);

        // end = "END"

        // complete = "*"

        // repeats = "#" integer:min [".." (integer|"*"):max]
        repeats.add(115, new Str(114, "#"));
        repeats.add(116, integer, repeatsRepeatsMin);
        Optional repeats_1 = new Optional(117, "repeats_1");
        repeats_1.add(119, new Str(118, ".."));
        OrList repeats_1_1 = new OrList(120, "repeats_1_1", repeatsRepeatsMax);
        repeats_1_1.add(121, integer, repeatsRepeatsInteger);
        repeats_1_1.add(123, new Str(122, "*"));
        repeats_1.add(124, repeats_1_1);
        repeats.add(125, repeats_1);

        // valx = [":" lname:varname] ["+":repeat|repeats [":" lname:repeatName]]
        Optional valx_1 = new Optional(126, "valx_1");
        valx_1.add(128, new Str(127, ":"));
        valx_1.add(129, lname, valxValxVarname);
        valx.add(130, valx_1);
        Optional valx_2 = new Optional(131, "valx_2");
        OrList valx_2_1 = new OrList(132, "valx_2_1");
        valx_2_1.add(134, new Str(133, "+", valxValxRepeat));
        valx_2_1.add(135, repeats, valxValxRepeats);
        valx_2.add(136, valx_2_1);
        Optional valx_2_2 = new Optional(137, "valx_2_2");
        valx_2_2.add(139, new Str(138, ":"));
        valx_2_2.add(140, lname, valxValxRepeatName);
        valx_2.add(141, valx_2_2);
        valx.add(142, valx_2);

        // marker = ":" lname:name
        marker.add(144, new Str(143, ":"));
        marker.add(145, lname, markerMarkerName);

        // valprim = s ["!":not s] range|integer|str|reference|variable|complete|end valx
        valprim.add(146, s);
        Optional valprim_1 = new Optional(147, "valprim_1");
        valprim_1.add(149, new Str(148, "!", valprimValprimNot));
        valprim_1.add(150, s);
        valprim.add(151, valprim_1);
        OrList valprim_2 = new OrList(152, "valprim_2");
        valprim_2.add(153, range, valprimValprimRange);
        valprim_2.add(154, integer, valprimValprimInteger);
        valprim_2.add(155, str, valprimValprimStr);
        valprim_2.add(156, reference, valprimValprimReference);
        valprim_2.add(157, variable, valprimValprimVariable);
        valprim_2.add(158, complete, valprimValprimComplete);
        valprim_2.add(159, end, valprimValprimEnd);
        valprim.add(160, valprim_2);
        valprim.add(161, valx, valprimValprimValx);

        // valpar = s ["!":not s] ["CS":cs|"CI":ci s] "(" s val s ")" valx
        valpar.add(162, s);
        Optional valpar_1 = new Optional(163, "valpar_1");
        valpar_1.add(165, new Str(164, "!", valparValparNot));
        valpar_1.add(166, s);
        valpar.add(167, valpar_1);
        Optional valpar_2 = new Optional(168, "valpar_2");
        OrList valpar_2_1 = new OrList(169, "valpar_2_1");
        valpar_2_1.add(171, new Str(170, "CS", valparValparCs));
        valpar_2_1.add(173, new Str(172, "CI", valparValparCi));
        valpar_2.add(174, valpar_2_1);
        valpar_2.add(175, s);
        valpar.add(176, valpar_2);
        valpar.add(178, new Str(177, "("));
        valpar.add(179, s);
        valpar.add(180, val, valparValparVal);
        valpar.add(181, s);
        valpar.add(183, new Str(182, ")"));
        valpar.add(184, valx, valparValparValx);

        // valor = s valprim|valpar [s "|" s valprim|valpar]+
        valor.add(185, s);
        OrList valor_1 = new OrList(186, "valor_1");
        valor_1.add(187, valprim, valorValorValprim);
        valor_1.add(188, valpar, valorValorValpar);
        valor.add(189, valor_1);
        Optional valor_2 = new Optional(190, "valor_2");
        Repeat valor_2_1 = new Repeat(191, "valor_2_1");
        valor_2_1.add(192, s);
        valor_2_1.add(194, new Str(193, "|"));
        valor_2_1.add(195, s);
        OrList valor_2_1_1 = new OrList(196, "valor_2_1_1");
        valor_2_1_1.add(197, valprim, valorValorValprim);
        valor_2_1_1.add(198, valpar, valorValorValpar);
        valor_2_1.add(199, valor_2_1_1);
        valor_2.add(200, valor_2_1);
        valor.add(201, valor_2);

        // valopt = s "[" s val s "]" valx
        valopt.add(202, s);
        valopt.add(204, new Str(203, "["));
        valopt.add(205, s);
        valopt.add(206, val, valoptValoptVal);
        valopt.add(207, s);
        valopt.add(209, new Str(208, "]"));
        valopt.add(210, valx, valoptValoptValx);

        // valand = valor:mainAnd s "&" s valor|valopt [s "&" s valor|valopt]+
        valand.add(211, valor, valandValandMainAnd);
        valand.add(212, s);
        valand.add(214, new Str(213, "&"));
        valand.add(215, s);
        OrList valand_1 = new OrList(216, "valand_1");
        valand_1.add(217, valor, valandValandValor);
        valand_1.add(218, valopt, valandValandValopt);
        valand.add(219, valand_1);
        Optional valand_2 = new Optional(220, "valand_2");
        Repeat valand_2_1 = new Repeat(221, "valand_2_1");
        valand_2_1.add(222, s);
        valand_2_1.add(224, new Str(223, "&"));
        valand_2_1.add(225, s);
        OrList valand_2_1_1 = new OrList(226, "valand_2_1_1");
        valand_2_1_1.add(227, valor, valandValandValor);
        valand_2_1_1.add(228, valopt, valandValandValopt);
        valand_2_1.add(229, valand_2_1_1);
        valand_2.add(230, valand_2_1);
        valand.add(231, valand_2);

        // valstmt = (s valand|valor|valopt|marker)+
        valstmt.add(232, s);
        OrList valstmt_1 = new OrList(233, "valstmt_1");
        valstmt_1.add(234, valand, valstmtValstmtValand);
        valstmt_1.add(235, valor, valstmtValstmtValor);
        valstmt_1.add(236, valopt, valstmtValstmtValopt);
        valstmt_1.add(237, marker, valstmtValstmtMarker);
        valstmt.add(238, valstmt_1);

        // val = valstmt [s 92 s valstmt:followedby]
        val.add(239, valstmt, valValValstmt);
        Optional val_1 = new Optional(240, "val_1");
        val_1.add(241, s);
        val_1.add(243, new Chr(242, (char)92));
        val_1.add(244, s);
        val_1.add(245, valstmt, valValFollowedby);
        val.add(246, val_1);

        // def = lname:var s "=" s val s ";"
        def.add(247, lname, defDefVar);
        def.add(248, s);
        def.add(250, new Str(249, "="));
        def.add(251, s);
        def.add(252, val, defDefVal);
        def.add(253, s);
        def.add(255, new Str(254, ";"));

        // classvar = uname:class ws lname:var
        classvar.add(256, uname, classvarClassvarClass);
        classvar.add(257, ws);
        classvar.add(258, lname, classvarClassvarVar);

        // constructor = "(" s classvar s ["," s classvar s]+ ")"
        constructor.add(260, new Str(259, "("));
        constructor.add(261, s);
        constructor.add(262, classvar, constructorConstructorClassvar);
        constructor.add(263, s);
        Optional constructor_1 = new Optional(264, "constructor_1");
        Repeat constructor_1_1 = new Repeat(265, "constructor_1_1");
        constructor_1_1.add(267, new Str(266, ","));
        constructor_1_1.add(268, s);
        constructor_1_1.add(269, classvar, constructorConstructorClassvar);
        constructor_1_1.add(270, s);
        constructor_1.add(271, constructor_1_1);
        constructor.add(272, constructor_1);
        constructor.add(274, new Str(273, ")"));

        // outputclass = uname:class [constructor] ws lname:var s ";"
        outputclass.add(275, uname, outputclassOutputclassClass);
        Optional outputclass_1 = new Optional(276, "outputclass_1");
        outputclass_1.add(277, constructor, outputclassOutputclassConstructor);
        outputclass.add(278, outputclass_1);
        outputclass.add(279, ws);
        outputclass.add(280, lname, outputclassOutputclassVar);
        outputclass.add(281, s);
        outputclass.add(283, new Str(282, ";"));

        // omarg = s "," s "String":str | "Index":index ws lname:arg
        omarg.add(284, s);
        omarg.add(286, new Str(285, ","));
        omarg.add(287, s);
        OrList omarg_1 = new OrList(288, "omarg_1");
        omarg_1.add(290, new Str(289, "String", omargOmargStr));
        omarg_1.add(292, new Str(291, "Index", omargOmargIndex));
        omarg.add(293, omarg_1);
        omarg.add(294, ws);
        omarg.add(295, lname, omargOmargArg);

        // outputmethod =
        //   [uname:class [constructor] ws] ["$":setter ws] lname:ref "." lname:method s "(" s
        //   (("void":void ws) | ("String":str ws) | ("Index":index ws) | (uname:argclass ws)
        //   [lname:carg "."] (lname|"*"):arg)
        //   [omarg+] s ")" s ";"
        Optional outputmethod_1 = new Optional(296, "outputmethod_1");
        outputmethod_1.add(297, uname, outputmethodOutputmethodClass);
        Optional outputmethod_1_1 = new Optional(298, "outputmethod_1_1");
        outputmethod_1_1.add(299, constructor, outputmethodOutputmethodConstructor);
        outputmethod_1.add(300, outputmethod_1_1);
        outputmethod_1.add(301, ws);
        outputmethod.add(302, outputmethod_1);
        Optional outputmethod_2 = new Optional(303, "outputmethod_2");
        outputmethod_2.add(305, new Str(304, "$", outputmethodOutputmethodSetter));
        outputmethod_2.add(306, ws);
        outputmethod.add(307, outputmethod_2);
        outputmethod.add(308, lname, outputmethodOutputmethodRef);
        outputmethod.add(310, new Str(309, "."));
        outputmethod.add(311, lname, outputmethodOutputmethodMethod);
        outputmethod.add(312, s);
        outputmethod.add(314, new Str(313, "("));
        outputmethod.add(315, s);
        ElementList outputmethod_3 = new ElementList(316, "outputmethod_3");
        OrList outputmethod_3_1 = new OrList(317, "outputmethod_3_1");
        ElementList outputmethod_3_1_1 = new ElementList(318, "outputmethod_3_1_1");
        outputmethod_3_1_1.add(320, new Str(319, "void", outputmethodOutputmethodVoid));
        outputmethod_3_1_1.add(321, ws);
        outputmethod_3_1.add(322, outputmethod_3_1_1);
        ElementList outputmethod_3_1_2 = new ElementList(323, "outputmethod_3_1_2");
        outputmethod_3_1_2.add(325, new Str(324, "String", outputmethodOutputmethodStr));
        outputmethod_3_1_2.add(326, ws);
        outputmethod_3_1.add(327, outputmethod_3_1_2);
        ElementList outputmethod_3_1_3 = new ElementList(328, "outputmethod_3_1_3");
        outputmethod_3_1_3.add(330, new Str(329, "Index", outputmethodOutputmethodIndex));
        outputmethod_3_1_3.add(331, ws);
        outputmethod_3_1.add(332, outputmethod_3_1_3);
        ElementList outputmethod_3_1_4 = new ElementList(333, "outputmethod_3_1_4");
        outputmethod_3_1_4.add(334, uname, outputmethodOutputmethodArgclass);
        outputmethod_3_1_4.add(335, ws);
        outputmethod_3_1.add(336, outputmethod_3_1_4);
        outputmethod_3.add(337, outputmethod_3_1);
        Optional outputmethod_3_2 = new Optional(338, "outputmethod_3_2");
        outputmethod_3_2.add(339, lname, outputmethodOutputmethodCarg);
        outputmethod_3_2.add(341, new Str(340, "."));
        outputmethod_3.add(342, outputmethod_3_2);
        OrList outputmethod_3_3 = new OrList(343, "outputmethod_3_3", outputmethodOutputmethodArg);
        outputmethod_3_3.add(344, lname);
        outputmethod_3_3.add(346, new Str(345, "*"));
        outputmethod_3.add(347, outputmethod_3_3);
        outputmethod.add(348, outputmethod_3);
        Optional outputmethod_4 = new Optional(349, "outputmethod_4");
        Repeat outputmethod_4_1 = new Repeat(350, "outputmethod_4_1");
        outputmethod_4_1.add(351, omarg, outputmethodOutputmethodOmarg);
        outputmethod_4.add(352, outputmethod_4_1);
        outputmethod.add(353, outputmethod_4);
        outputmethod.add(354, s);
        outputmethod.add(356, new Str(355, ")"));
        outputmethod.add(357, s);
        outputmethod.add(359, new Str(358, ";"));

        // outputvar =
        //   "$" lname:variable ws "boolean":bool | "String":str ws
        //   lname:ref "." lname:method s "()" s ";"
        outputvar.add(361, new Str(360, "$"));
        outputvar.add(362, lname, outputvarOutputvarVariable);
        outputvar.add(363, ws);
        OrList outputvar_1 = new OrList(364, "outputvar_1");
        outputvar_1.add(366, new Str(365, "boolean", outputvarOutputvarBool));
        outputvar_1.add(368, new Str(367, "String", outputvarOutputvarStr));
        outputvar.add(369, outputvar_1);
        outputvar.add(370, ws);
        outputvar.add(371, lname, outputvarOutputvarRef);
        outputvar.add(373, new Str(372, "."));
        outputvar.add(374, lname, outputvarOutputvarMethod);
        outputvar.add(375, s);
        outputvar.add(377, new Str(376, "()"));
        outputvar.add(378, s);
        outputvar.add(380, new Str(379, ";"));

        // grammar = s "grammar" ws lname:grammarname s "{" s (def|outputclass|outputmethod|outputvar s)+ "}" s
        grammar.add(381, s);
        grammar.add(383, new Str(382, "grammar"));
        grammar.add(384, ws);
        grammar.add(385, lname, grammarGrammarGrammarname);
        grammar.add(386, s);
        grammar.add(388, new Str(387, "{"));
        grammar.add(389, s);
        Repeat grammar_1 = new Repeat(390, "grammar_1");
        OrList grammar_1_1 = new OrList(391, "grammar_1_1");
        grammar_1_1.add(392, def, grammarGrammarDef);
        grammar_1_1.add(393, outputclass, grammarGrammarOutputclass);
        grammar_1_1.add(394, outputmethod, grammarGrammarOutputmethod);
        grammar_1_1.add(395, outputvar, grammarGrammarOutputvar);
        grammar_1.add(396, grammar_1_1);
        grammar_1.add(397, s);
        grammar.add(398, grammar_1);
        grammar.add(400, new Str(399, "}"));
        grammar.add(401, s);
View Full Code Here

    private net.sf.laja.parser.engine2.element.Element getGrammar1() {
        // *** Output classes ***

        // *** Declarations ***
        OrList newline = new OrList(1, "newline");
        OrList comment = new OrList(2, "comment");
        Repeat ws = new Repeat(3, "ws");
        Optional s = new Optional(4, "s");
        Range digit = new Range(5, "digit", "0", "9");
        Repeat integer = new Repeat(6, "integer");
        Range lower = new Range(7, "lower", "a", "z");
        Range upper = new Range(8, "upper", "A", "Z");
        Optional xname = new Optional(9, "xname");
        ElementList lname = new ElementList(10, "lname");
        ElementList uname = new ElementList(11, "uname");
        Str ff = new Str(12, "\"");
        ElementList str = new ElementList(13, "str");
        ElementList reference = new ElementList(14, "reference");
        ElementList variable = new ElementList(15, "variable");
        OrList range1 = new OrList(16, "range1");
        ElementList range = new ElementList(17, "range");
        Str end = new Str(18, "END");
        Str complete = new Str(19, "*");
        ElementList repeats = new ElementList(20, "repeats");
        ElementList valx = new ElementList(21, "valx");
        ElementList marker = new ElementList(22, "marker");
        ElementList valprim = new ElementList(23, "valprim");
        ElementList valpar = new ElementList(24, "valpar");
        ElementList valor = new ElementList(25, "valor");
        ElementList valopt = new ElementList(26, "valopt");
        ElementList valand = new ElementList(27, "valand");
        Repeat valstmt = new Repeat(28, "valstmt");
        ElementList val = new ElementList(29, "val");
        ElementList def = new ElementList(30, "def");
        ElementList classvar = new ElementList(31, "classvar");
        ElementList constructor = new ElementList(32, "constructor");
        ElementList outputclass = new ElementList(33, "outputclass");
        ElementList omarg = new ElementList(34, "omarg");
        ElementList outputmethod = new ElementList(35, "outputmethod");
        ElementList outputvar = new ElementList(36, "outputvar");
        ElementList grammar = new ElementList(37, "grammar");

        // *** Statements ***

        // newline = "\r\n" | "\n"
        newline.add(39, new Str(38, "\r\n"));
        newline.add(41, new Str(40, "\n"));

        // comment = ("/*" [(comment | !"*/")+] "*/") | ("//" [!newline+] newline|END)
        ElementList comment_1 = new ElementList(42, "comment_1");
        comment_1.add(44, new Str(43, "/*"));
        Optional comment_1_1 = new Optional(45, "comment_1_1");
        Repeat comment_1_1_1 = new Repeat(46, "comment_1_1_1");
        OrList comment_1_1_1_1 = new OrList(47, "comment_1_1_1_1");
        comment_1_1_1_1.add(48, comment);
        comment_1_1_1_1.add(50, new Str(49, "*/", NOT));
        comment_1_1_1.add(51, comment_1_1_1_1);
        comment_1_1.add(52, comment_1_1_1);
        comment_1.add(53, comment_1_1);
        comment_1.add(55, new Str(54, "*/"));
        comment.add(56, comment_1);
        ElementList comment_2 = new ElementList(57, "comment_2");
        comment_2.add(59, new Str(58, "//"));
        Optional comment_2_1 = new Optional(60, "comment_2_1");
        Repeat comment_2_1_1 = new Repeat(61, "comment_2_1_1");
        comment_2_1_1.add(62, newline, NOT);
        comment_2_1.add(63, comment_2_1_1);
        comment_2.add(64, comment_2_1);
        OrList comment_2_2 = new OrList(65, "comment_2_2");
        comment_2_2.add(66, newline);
        comment_2_2.add(68, new End(67, "comment_2_2"));
        comment_2.add(69, comment_2_2);
        comment.add(70, comment_2);

        // ws = (newline | " " | "\t" | comment)+
        OrList ws_1 = new OrList(71, "ws_1");
        ws_1.add(72, newline);
        ws_1.add(74, new Str(73, " "));
        ws_1.add(76, new Str(75, "\t"));
        ws_1.add(77, comment);
        ws.add(78, ws_1);

        // s = [ws]
        s.add(79, ws);

        // digit = "0".."9"

        // integer = digit+
        integer.add(80, digit);

        // lower = "a".."z"

        // upper = "A".."Z"

        // xname = [lower|upper|digit]+
        Repeat xname_1 = new Repeat(81, "xname_1");
        OrList xname_1_1 = new OrList(82, "xname_1_1");
        xname_1_1.add(83, lower);
        xname_1_1.add(84, upper);
        xname_1_1.add(85, digit);
        xname_1.add(86, xname_1_1);
        xname.add(87, xname_1);

        // lname = lower xname
        lname.add(88, lower);
        lname.add(89, xname);

        // uname = upper xname
        uname.add(90, upper);
        uname.add(91, xname);

        // ff = "\""

        // str = ff (("\\\"" | !(ff|newline))+):strval ff
        str.add(92, ff);
        Repeat str_1 = new Repeat(93, "str_1");
        OrList str_1_1 = new OrList(94, "str_1_1");
        str_1_1.add(96, new Str(95, "\\\""));
        OrList str_1_1_1 = new OrList(97, "str_1_1_1", NOT);
        str_1_1_1.add(98, ff);
        str_1_1_1.add(99, newline);
        str_1_1.add(100, str_1_1_1);
        str_1.add(101, str_1_1);
        str.add(102, str_1);
        str.add(103, ff);

        // reference = lname
        reference.add(104, lname);

        // variable = "$" lname:name
        variable.add(106, new Str(105, "$"));
        variable.add(107, lname);

        // range1 = integer|str
        range1.add(108, integer);
        range1.add(109, str);

        // range = range1 ".." range1
        range.add(110, range1);
        range.add(112, new Str(111, ".."));
        range.add(113, range1);

        // end = "END"

        // complete = "*"

        // repeats = "#" integer:min [".." (integer|"*"):max]
        repeats.add(115, new Str(114, "#"));
        repeats.add(116, integer);
        Optional repeats_1 = new Optional(117, "repeats_1");
        repeats_1.add(119, new Str(118, ".."));
        OrList repeats_1_1 = new OrList(120, "repeats_1_1");
        repeats_1_1.add(121, integer);
        repeats_1_1.add(123, new Str(122, "*"));
        repeats_1.add(124, repeats_1_1);
        repeats.add(125, repeats_1);

        // valx = [":" lname:varname] ["+":repeat|repeats [":" lname:repeatName]]
        Optional valx_1 = new Optional(126, "valx_1");
        valx_1.add(128, new Str(127, ":"));
        valx_1.add(129, lname);
        valx.add(130, valx_1);
        Optional valx_2 = new Optional(131, "valx_2");
        OrList valx_2_1 = new OrList(132, "valx_2_1");
        valx_2_1.add(134, new Str(133, "+"));
        valx_2_1.add(135, repeats);
        valx_2.add(136, valx_2_1);
        Optional valx_2_2 = new Optional(137, "valx_2_2");
        valx_2_2.add(139, new Str(138, ":"));
        valx_2_2.add(140, lname);
        valx_2.add(141, valx_2_2);
        valx.add(142, valx_2);

        // marker = ":" lname:name
        marker.add(144, new Str(143, ":"));
        marker.add(145, lname);

        // valprim = s ["!":not s] range|integer|str|reference|variable|complete|end valx
        valprim.add(146, s);
        Optional valprim_1 = new Optional(147, "valprim_1");
        valprim_1.add(149, new Str(148, "!"));
        valprim_1.add(150, s);
        valprim.add(151, valprim_1);
        OrList valprim_2 = new OrList(152, "valprim_2");
        valprim_2.add(153, range);
        valprim_2.add(154, integer);
        valprim_2.add(155, str);
        valprim_2.add(156, reference);
        valprim_2.add(157, variable);
        valprim_2.add(158, complete);
        valprim_2.add(159, end);
        valprim.add(160, valprim_2);
        valprim.add(161, valx);

        // valpar = s ["!":not s] ["CS":cs|"CI":ci s] "(" s val s ")" valx
        valpar.add(162, s);
        Optional valpar_1 = new Optional(163, "valpar_1");
        valpar_1.add(165, new Str(164, "!"));
        valpar_1.add(166, s);
        valpar.add(167, valpar_1);
        Optional valpar_2 = new Optional(168, "valpar_2");
        OrList valpar_2_1 = new OrList(169, "valpar_2_1");
        valpar_2_1.add(171, new Str(170, "CS"));
        valpar_2_1.add(173, new Str(172, "CI"));
        valpar_2.add(174, valpar_2_1);
        valpar_2.add(175, s);
        valpar.add(176, valpar_2);
        valpar.add(178, new Str(177, "("));
        valpar.add(179, s);
        valpar.add(180, val);
        valpar.add(181, s);
        valpar.add(183, new Str(182, ")"));
        valpar.add(184, valx);

        // valor = s valprim|valpar [s "|" s valprim|valpar]+
        valor.add(185, s);
        OrList valor_1 = new OrList(186, "valor_1");
        valor_1.add(187, valprim);
        valor_1.add(188, valpar);
        valor.add(189, valor_1);
        Optional valor_2 = new Optional(190, "valor_2");
        Repeat valor_2_1 = new Repeat(191, "valor_2_1");
        valor_2_1.add(192, s);
        valor_2_1.add(194, new Str(193, "|"));
        valor_2_1.add(195, s);
        OrList valor_2_1_1 = new OrList(196, "valor_2_1_1");
        valor_2_1_1.add(197, valprim);
        valor_2_1_1.add(198, valpar);
        valor_2_1.add(199, valor_2_1_1);
        valor_2.add(200, valor_2_1);
        valor.add(201, valor_2);

        // valopt = s "[" s val s "]" valx
        valopt.add(202, s);
        valopt.add(204, new Str(203, "["));
        valopt.add(205, s);
        valopt.add(206, val);
        valopt.add(207, s);
        valopt.add(209, new Str(208, "]"));
        valopt.add(210, valx);

        // valand = valor:mainAnd s "&" s valor|valopt [s "&" s valor|valopt]+
        valand.add(211, valor);
        valand.add(212, s);
        valand.add(214, new Str(213, "&"));
        valand.add(215, s);
        OrList valand_1 = new OrList(216, "valand_1");
        valand_1.add(217, valor);
        valand_1.add(218, valopt);
        valand.add(219, valand_1);
        Optional valand_2 = new Optional(220, "valand_2");
        Repeat valand_2_1 = new Repeat(221, "valand_2_1");
        valand_2_1.add(222, s);
        valand_2_1.add(224, new Str(223, "&"));
        valand_2_1.add(225, s);
        OrList valand_2_1_1 = new OrList(226, "valand_2_1_1");
        valand_2_1_1.add(227, valor);
        valand_2_1_1.add(228, valopt);
        valand_2_1.add(229, valand_2_1_1);
        valand_2.add(230, valand_2_1);
        valand.add(231, valand_2);

        // valstmt = (s valand|valor|valopt|marker)+
        valstmt.add(232, s);
        OrList valstmt_1 = new OrList(233, "valstmt_1");
        valstmt_1.add(234, valand);
        valstmt_1.add(235, valor);
        valstmt_1.add(236, valopt);
        valstmt_1.add(237, marker);
        valstmt.add(238, valstmt_1);

        // val = valstmt [s 92 s valstmt:followedby]
        val.add(239, valstmt);
        Optional val_1 = new Optional(240, "val_1");
        val_1.add(241, s);
        val_1.add(243, new Chr(242, (char)92));
        val_1.add(244, s);
        val_1.add(245, valstmt);
        val.add(246, val_1);

        // def = lname:var s "=" s val s ";"
        def.add(247, lname);
        def.add(248, s);
        def.add(250, new Str(249, "="));
        def.add(251, s);
        def.add(252, val);
        def.add(253, s);
        def.add(255, new Str(254, ";"));

        // classvar = uname:class ws lname:var
        classvar.add(256, uname);
        classvar.add(257, ws);
        classvar.add(258, lname);

        // constructor = "(" s classvar s ["," s classvar s]+ ")"
        constructor.add(260, new Str(259, "("));
        constructor.add(261, s);
        constructor.add(262, classvar);
        constructor.add(263, s);
        Optional constructor_1 = new Optional(264, "constructor_1");
        Repeat constructor_1_1 = new Repeat(265, "constructor_1_1");
        constructor_1_1.add(267, new Str(266, ","));
        constructor_1_1.add(268, s);
        constructor_1_1.add(269, classvar);
        constructor_1_1.add(270, s);
        constructor_1.add(271, constructor_1_1);
        constructor.add(272, constructor_1);
        constructor.add(274, new Str(273, ")"));

        // outputclass = uname:class [constructor] ws lname:var s ";"
        outputclass.add(275, uname);
        Optional outputclass_1 = new Optional(276, "outputclass_1");
        outputclass_1.add(277, constructor);
        outputclass.add(278, outputclass_1);
        outputclass.add(279, ws);
        outputclass.add(280, lname);
        outputclass.add(281, s);
        outputclass.add(283, new Str(282, ";"));

        // omarg = s "," s "String":str | "Index":index ws lname:arg
        omarg.add(284, s);
        omarg.add(286, new Str(285, ","));
        omarg.add(287, s);
        OrList omarg_1 = new OrList(288, "omarg_1");
        omarg_1.add(290, new Str(289, "String"));
        omarg_1.add(292, new Str(291, "Index"));
        omarg.add(293, omarg_1);
        omarg.add(294, ws);
        omarg.add(295, lname);

        // outputmethod =
        //   [uname:class [constructor] ws] ["$":setter ws] lname:ref "." lname:method s "(" s
        //   (("void":void ws) | ("String":str ws) | ("Index":index ws) | (uname:argclass ws)
        //   [lname:carg "."] (lname|"*"):arg)
        //   [omarg+] s ")" s ";"
        Optional outputmethod_1 = new Optional(296, "outputmethod_1");
        outputmethod_1.add(297, uname);
        Optional outputmethod_1_1 = new Optional(298, "outputmethod_1_1");
        outputmethod_1_1.add(299, constructor);
        outputmethod_1.add(300, outputmethod_1_1);
        outputmethod_1.add(301, ws);
        outputmethod.add(302, outputmethod_1);
        Optional outputmethod_2 = new Optional(303, "outputmethod_2");
        outputmethod_2.add(305, new Str(304, "$"));
        outputmethod_2.add(306, ws);
        outputmethod.add(307, outputmethod_2);
        outputmethod.add(308, lname);
        outputmethod.add(310, new Str(309, "."));
        outputmethod.add(311, lname);
        outputmethod.add(312, s);
        outputmethod.add(314, new Str(313, "("));
        outputmethod.add(315, s);
        ElementList outputmethod_3 = new ElementList(316, "outputmethod_3");
        OrList outputmethod_3_1 = new OrList(317, "outputmethod_3_1");
        ElementList outputmethod_3_1_1 = new ElementList(318, "outputmethod_3_1_1");
        outputmethod_3_1_1.add(320, new Str(319, "void"));
        outputmethod_3_1_1.add(321, ws);
        outputmethod_3_1.add(322, outputmethod_3_1_1);
        ElementList outputmethod_3_1_2 = new ElementList(323, "outputmethod_3_1_2");
        outputmethod_3_1_2.add(325, new Str(324, "String"));
        outputmethod_3_1_2.add(326, ws);
        outputmethod_3_1.add(327, outputmethod_3_1_2);
        ElementList outputmethod_3_1_3 = new ElementList(328, "outputmethod_3_1_3");
        outputmethod_3_1_3.add(330, new Str(329, "Index"));
        outputmethod_3_1_3.add(331, ws);
        outputmethod_3_1.add(332, outputmethod_3_1_3);
        ElementList outputmethod_3_1_4 = new ElementList(333, "outputmethod_3_1_4");
        outputmethod_3_1_4.add(334, uname);
        outputmethod_3_1_4.add(335, ws);
        outputmethod_3_1.add(336, outputmethod_3_1_4);
        outputmethod_3.add(337, outputmethod_3_1);
        Optional outputmethod_3_2 = new Optional(338, "outputmethod_3_2");
        outputmethod_3_2.add(339, lname);
        outputmethod_3_2.add(341, new Str(340, "."));
        outputmethod_3.add(342, outputmethod_3_2);
        OrList outputmethod_3_3 = new OrList(343, "outputmethod_3_3");
        outputmethod_3_3.add(344, lname);
        outputmethod_3_3.add(346, new Str(345, "*"));
        outputmethod_3.add(347, outputmethod_3_3);
        outputmethod.add(348, outputmethod_3);
        Optional outputmethod_4 = new Optional(349, "outputmethod_4");
        Repeat outputmethod_4_1 = new Repeat(350, "outputmethod_4_1");
        outputmethod_4_1.add(351, omarg);
        outputmethod_4.add(352, outputmethod_4_1);
        outputmethod.add(353, outputmethod_4);
        outputmethod.add(354, s);
        outputmethod.add(356, new Str(355, ")"));
        outputmethod.add(357, s);
        outputmethod.add(359, new Str(358, ";"));

        // outputvar =
        //   "$" lname:variable ws "boolean":bool | "String":str ws
        //   lname:ref "." lname:method s "()" s ";"
        outputvar.add(361, new Str(360, "$"));
        outputvar.add(362, lname);
        outputvar.add(363, ws);
        OrList outputvar_1 = new OrList(364, "outputvar_1");
        outputvar_1.add(366, new Str(365, "boolean"));
        outputvar_1.add(368, new Str(367, "String"));
        outputvar.add(369, outputvar_1);
        outputvar.add(370, ws);
        outputvar.add(371, lname);
        outputvar.add(373, new Str(372, "."));
        outputvar.add(374, lname);
        outputvar.add(375, s);
        outputvar.add(377, new Str(376, "()"));
        outputvar.add(378, s);
        outputvar.add(380, new Str(379, ";"));

        // grammar = s "grammar" ws lname:grammarname s "{" s (def|outputclass|outputmethod|outputvar s)+ "}" s
        grammar.add(381, s);
        grammar.add(383, new Str(382, "grammar"));
        grammar.add(384, ws);
        grammar.add(385, lname);
        grammar.add(386, s);
        grammar.add(388, new Str(387, "{"));
        grammar.add(389, s);
        Repeat grammar_1 = new Repeat(390, "grammar_1");
        OrList grammar_1_1 = new OrList(391, "grammar_1_1");
        grammar_1_1.add(392, def);
        grammar_1_1.add(393, outputclass);
        grammar_1_1.add(394, outputmethod);
        grammar_1_1.add(395, outputvar);
        grammar_1.add(396, grammar_1_1);
        grammar_1.add(397, s);
        grammar.add(398, grammar_1);
        grammar.add(400, new Str(399, "}"));
        grammar.add(401, s);
View Full Code Here

        Data.ClassStatementClassStatementStateMethod classStatementClassStatementStateMethod = data2.new ClassStatementClassStatementStateMethod("classStatementClassStatementStateMethod");
        Data.StateTemplateStateTemplateImports stateTemplateStateTemplateImports = data2.new StateTemplateStateTemplateImports("stateTemplateStateTemplateImports");
        Data.StateTemplateStateTemplateClassStatement stateTemplateStateTemplateClassStatement = data2.new StateTemplateStateTemplateClassStatement("stateTemplateStateTemplateClassStatement");

        // *** Declarations ***
        OrList newline = new OrList(1, "newline");
        OrList comment = new OrList(2, "comment");
        Repeat ws = new Repeat(3, "ws");
        Optional s = new Optional(4, "s");
        Str ff = new Str(5, "\"");
        ElementList str = new ElementList(6, "str");
        OrList letter = new OrList(7, "letter");
        Range digit = new Range(8, "digit", "0", "9");
        ElementList name = new ElementList(9, "name");
        Optional _public = new Optional(10, "public");
        ElementList packagestatement = new ElementList(11, "packagestatement");
        ElementList packagename = new ElementList(12, "packagename");
        ElementList fullclassname = new ElementList(13, "fullclassname");
        ElementList importstatement = new ElementList(14, "importstatement", importstatementImportstatement);
        Optional imports = new Optional(15, "imports");
        ElementList type = new ElementList(16, "type");
        ElementList initialValue = new ElementList(17, "initialValue");
        ElementList attribute = new ElementList(18, "attribute");
        ElementList attributeComment = new ElementList(19, "attributeComment");
        ElementList statement = new ElementList(20, "statement");
        ElementList isvalid = new ElementList(21, "isvalid");
        ElementList uname = new ElementList(22, "uname");
        ElementList getter = new ElementList(23, "getter");
        ElementList parameters = new ElementList(24, "parameters");
        ElementList argument = new ElementList(25, "argument");
        ElementList method = new ElementList(26, "method");
        ElementList stateMethod = new ElementList(27, "stateMethod");
        ElementList convertMethod = new ElementList(28, "convertMethod");
        ElementList classStatement = new ElementList(29, "classStatement");
        ElementList stateTemplate = new ElementList(30, "stateTemplate");

        // *** Statements ***

        // newline = "\r\n" | "\n"
        newline.add(32, new Str(31, "\r\n"));
        newline.add(34, new Str(33, "\n"));

        // comment = ("/*" [(comment | !"*/")+] "*/") | ("//" [!newline+] newline|END)
        ElementList comment_1 = new ElementList(35, "comment_1");
        comment_1.add(37, new Str(36, "/*"));
        Optional comment_1_1 = new Optional(38, "comment_1_1");
        Repeat comment_1_1_1 = new Repeat(39, "comment_1_1_1");
        OrList comment_1_1_1_1 = new OrList(40, "comment_1_1_1_1");
        comment_1_1_1_1.add(41, comment);
        comment_1_1_1_1.add(43, new Str(42, "*/", NOT));
        comment_1_1_1.add(44, comment_1_1_1_1);
        comment_1_1.add(45, comment_1_1_1);
        comment_1.add(46, comment_1_1);
        comment_1.add(48, new Str(47, "*/"));
        comment.add(49, comment_1);
        ElementList comment_2 = new ElementList(50, "comment_2");
        comment_2.add(52, new Str(51, "//"));
        Optional comment_2_1 = new Optional(53, "comment_2_1");
        Repeat comment_2_1_1 = new Repeat(54, "comment_2_1_1");
        comment_2_1_1.add(55, newline, NOT);
        comment_2_1.add(56, comment_2_1_1);
        comment_2.add(57, comment_2_1);
        OrList comment_2_2 = new OrList(58, "comment_2_2");
        comment_2_2.add(59, newline);
        comment_2_2.add(61, new End(60, "comment_2_2"));
        comment_2.add(62, comment_2_2);
        comment.add(63, comment_2);

        // ws = (newline | " " | "\t" | comment)+
        OrList ws_1 = new OrList(64, "ws_1");
        ws_1.add(65, newline);
        ws_1.add(67, new Str(66, " "));
        ws_1.add(69, new Str(68, "\t"));
        ws_1.add(70, comment);
        ws.add(71, ws_1);

        // s = [ws]
        s.add(72, ws);

        // ff = "\""

        // str = ff (("\\\"" | !(ff|newline))+):strval ff
        str.add(73, ff);
        Repeat str_1 = new Repeat(74, "str_1");
        OrList str_1_1 = new OrList(75, "str_1_1");
        str_1_1.add(77, new Str(76, "\\\""));
        OrList str_1_1_1 = new OrList(78, "str_1_1_1", NOT);
        str_1_1_1.add(79, ff);
        str_1_1_1.add(80, newline);
        str_1_1.add(81, str_1_1_1);
        str_1.add(82, str_1_1);
        str.add(83, str_1);
        str.add(84, ff);

        // letter = "a".."z" | "A".."Z" | "_" | "$"
        letter.add(86, new Range(85, "letter", "a", "z"));
        letter.add(88, new Range(87, "letter", "A", "Z"));
        letter.add(90, new Str(89, "_"));
        letter.add(92, new Str(91, "$"));

        // digit = "0".."9"

        // name = letter [letter | digit]+
        name.add(93, letter);
        Optional name_1 = new Optional(94, "name_1");
        Repeat name_1_1 = new Repeat(95, "name_1_1");
        OrList name_1_1_1 = new OrList(96, "name_1_1_1");
        name_1_1_1.add(97, letter);
        name_1_1_1.add(98, digit);
        name_1_1.add(99, name_1_1_1);
        name_1.add(100, name_1_1);
        name.add(101, name_1);

        // public = ["public" ws]
        _public.add(103, new Str(102, "public"));
        _public.add(104, ws);

        // packagestatement = "package" ws packagename s ";"
        packagestatement.add(106, new Str(105, "package"));
        packagestatement.add(107, ws);
        packagestatement.add(108, packagename, stateTemplatePackagestatementPackagename);
        packagestatement.add(109, s);
        packagestatement.add(111, new Str(110, ";"));

        // packagename = name ["." name]+
        packagename.add(112, name);
        Optional packagename_1 = new Optional(113, "packagename_1");
        Repeat packagename_1_1 = new Repeat(114, "packagename_1_1");
        packagename_1_1.add(116, new Str(115, "."));
        packagename_1_1.add(117, name);
        packagename_1.add(118, packagename_1_1);
        packagename.add(119, packagename_1);

        // fullclassname = packagename
        fullclassname.add(120, packagename);

        // importstatement = "import" ws ["static":static ws] fullclassname s ";"
        importstatement.add(122, new Str(121, "import"));
        importstatement.add(123, ws);
        Optional importstatement_1 = new Optional(124, "importstatement_1");
        importstatement_1.add(126, new Str(125, "static", importstatementImportstatementStatic));
        importstatement_1.add(127, ws);
        importstatement.add(128, importstatement_1);
        importstatement.add(129, fullclassname, importstatementImportstatementFullclassname);
        importstatement.add(130, s);
        importstatement.add(132, new Str(131, ";"));

        // imports = [s importstatement]+
        Repeat imports_1 = new Repeat(133, "imports_1");
        imports_1.add(134, s);
        imports_1.add(135, importstatement, importsImportsImportstatement);
        imports.add(136, imports_1);

        // type = name [s "<" s type s ">"] [ s "," s type ]
        type.add(137, name);
        Optional type_1 = new Optional(138, "type_1");
        type_1.add(139, s);
        type_1.add(141, new Str(140, "<"));
        type_1.add(142, s);
        type_1.add(143, type);
        type_1.add(144, s);
        type_1.add(146, new Str(145, ">"));
        type.add(147, type_1);
        Optional type_2 = new Optional(148, "type_2");
        type_2.add(149, s);
        type_2.add(151, new Str(150, ","));
        type_2.add(152, s);
        type_2.add(153, type);
        type.add(154, type_2);

        // initialValue = "=" s !";"+:value
        initialValue.add(156, new Str(155, "="));
        initialValue.add(157, s);
        Repeat initialValue_1 = new Repeat(158, "initialValue_1", attributeInitialValueValue);
        initialValue_1.add(160, new Str(159, ";", NOT));
        initialValue.add(161, initialValue_1);

        // attribute = type ws name:variable s [initialValue s] ";" attributeComment|s
        attribute.add(162, type, attributeAttributeType);
        attribute.add(163, ws);
        attribute.add(164, name, attributeAttributeVariable);
        attribute.add(165, s);
        Optional attribute_1 = new Optional(166, "attribute_1");
        attribute_1.add(167, initialValue);
        attribute_1.add(168, s);
        attribute.add(169, attribute_1);
        attribute.add(171, new Str(170, ";"));
        OrList attribute_2 = new OrList(172, "attribute_2");
        attribute_2.add(173, attributeComment);
        attribute_2.add(174, s);
        attribute.add(175, attribute_2);

        // attributeComment = ([" " | "\t"]+ "//" [!newline+]):comment newline|END
        ElementList attributeComment_1 = new ElementList(176, "attributeComment_1", attributeAttributeCommentComment);
        Optional attributeComment_1_1 = new Optional(177, "attributeComment_1_1");
        Repeat attributeComment_1_1_1 = new Repeat(178, "attributeComment_1_1_1");
        OrList attributeComment_1_1_1_1 = new OrList(179, "attributeComment_1_1_1_1");
        attributeComment_1_1_1_1.add(181, new Str(180, " "));
        attributeComment_1_1_1_1.add(183, new Str(182, "\t"));
        attributeComment_1_1_1.add(184, attributeComment_1_1_1_1);
        attributeComment_1_1.add(185, attributeComment_1_1_1);
        attributeComment_1.add(186, attributeComment_1_1);
        attributeComment_1.add(188, new Str(187, "//"));
        Optional attributeComment_1_2 = new Optional(189, "attributeComment_1_2");
        Repeat attributeComment_1_2_1 = new Repeat(190, "attributeComment_1_2_1");
        attributeComment_1_2_1.add(191, newline, NOT);
        attributeComment_1_2.add(192, attributeComment_1_2_1);
        attributeComment_1.add(193, attributeComment_1_2);
        attributeComment.add(194, attributeComment_1);
        OrList attributeComment_2 = new OrList(195, "attributeComment_2");
        attributeComment_2.add(196, newline);
        attributeComment_2.add(198, new End(197, "attributeComment_2"));
        attributeComment.add(199, attributeComment_2);

        // statement = "{" s [(statement | str | !"}")+]:innerStatement "}"
        statement.add(201, new Str(200, "{"));
        statement.add(202, s);
        Optional statement_1 = new Optional(203, "statement_1", statementStatementInnerStatement);
        Repeat statement_1_1 = new Repeat(204, "statement_1_1");
        OrList statement_1_1_1 = new OrList(205, "statement_1_1_1");
        statement_1_1_1.add(206, statement, statementStatementStatement);
        statement_1_1_1.add(207, str);
        statement_1_1_1.add(209, new Str(208, "}", NOT));
        statement_1_1.add(210, statement_1_1_1);
        statement_1.add(211, statement_1_1);
        statement.add(212, statement_1);
        statement.add(214, new Str(213, "}"));

        // isvalid = s public "boolean" ws "isValid()" s statement
        isvalid.add(215, s);
        isvalid.add(216, _public);
        isvalid.add(218, new Str(217, "boolean"));
        isvalid.add(219, ws);
        isvalid.add(221, new Str(220, "isValid()"));
        isvalid.add(222, s);
        isvalid.add(223, statement, isvalidIsvalidStatement);

        // uname = "A".."Z" [letter | digit]+
        uname.add(225, new Range(224, "uname", "A", "Z"));
        Optional uname_1 = new Optional(226, "uname_1");
        Repeat uname_1_1 = new Repeat(227, "uname_1_1");
        OrList uname_1_1_1 = new OrList(228, "uname_1_1_1");
        uname_1_1_1.add(229, letter);
        uname_1_1_1.add(230, digit);
        uname_1_1.add(231, uname_1_1_1);
        uname_1.add(232, uname_1_1);
        uname.add(233, uname_1);

        // getter = "get" uname s "(" s ")"
        getter.add(235, new Str(234, "get"));
        getter.add(236, uname);
        getter.add(237, s);
        getter.add(239, new Str(238, "("));
        getter.add(240, s);
        getter.add(242, new Str(241, ")"));

        // parameters = s [!")"+]
        parameters.add(243, s);
        Optional parameters_1 = new Optional(244, "parameters_1");
        Repeat parameters_1_1 = new Repeat(245, "parameters_1_1");
        parameters_1_1.add(247, new Str(246, ")", NOT));
        parameters_1.add(248, parameters_1_1);
        parameters.add(249, parameters_1);

        // argument = getter | name:variable [s "." s argument]
        OrList argument_1 = new OrList(250, "argument_1");
        argument_1.add(251, getter);
        argument_1.add(252, name);
        argument.add(253, argument_1);
        Optional argument_2 = new Optional(254, "argument_2");
        argument_2.add(255, s);
        argument_2.add(257, new Str(256, "."));
        argument_2.add(258, s);
        argument_2.add(259, argument);
        argument.add(260, argument_2);

        // method = s "." s name:variable s "(" s argument s ")"
        method.add(261, s);
        method.add(263, new Str(262, "."));
        method.add(264, s);
        method.add(265, name, methodMethodVariable);
        method.add(266, s);
        method.add(268, new Str(267, "("));
        method.add(269, s);
        method.add(270, argument);
        method.add(271, s);
        method.add(273, new Str(272, ")"));

        // stateMethod = public name:returnclass ws "state" uname s "(" parameters ")" s "{" s  "return" ws name:implclass s method+ s ";" s "}"
        stateMethod.add(274, _public);
        stateMethod.add(275, name, stateMethodStateMethodReturnclass);
        stateMethod.add(276, ws);
        stateMethod.add(278, new Str(277, "state"));
        stateMethod.add(279, uname, stateMethodStateMethodUname);
        stateMethod.add(280, s);
        stateMethod.add(282, new Str(281, "("));
        stateMethod.add(283, parameters, stateMethodStateMethodParameters);
        stateMethod.add(285, new Str(284, ")"));
        stateMethod.add(286, s);
        stateMethod.add(288, new Str(287, "{"));
        stateMethod.add(289, s);
        stateMethod.add(291, new Str(290, "return"));
        stateMethod.add(292, ws);
        stateMethod.add(293, name, stateMethodStateMethodImplclass);
        stateMethod.add(294, s);
        Repeat stateMethod_1 = new Repeat(295, "stateMethod_1");
        stateMethod_1.add(296, method, stateMethodStateMethodMethod);
        stateMethod.add(297, stateMethod_1);
        stateMethod.add(298, s);
        stateMethod.add(300, new Str(299, ";"));
        stateMethod.add(301, s);
        stateMethod.add(303, new Str(302, "}"));

        // convertMethod = public name ws "convert" [uname] s "(" s name:type ws name:variable s ")" s "{" s "return" ws !";"+:statement ";" s "}"
        convertMethod.add(304, _public);
        convertMethod.add(305, name);
        convertMethod.add(306, ws);
        convertMethod.add(308, new Str(307, "convert"));
        Optional convertMethod_1 = new Optional(309, "convertMethod_1");
        convertMethod_1.add(310, uname);
        convertMethod.add(311, convertMethod_1);
        convertMethod.add(312, s);
        convertMethod.add(314, new Str(313, "("));
        convertMethod.add(315, s);
        convertMethod.add(316, name, convertMethodConvertMethodType);
        convertMethod.add(317, ws);
        convertMethod.add(318, name, convertMethodConvertMethodVariable);
        convertMethod.add(319, s);
        convertMethod.add(321, new Str(320, ")"));
        convertMethod.add(322, s);
        convertMethod.add(324, new Str(323, "{"));
        convertMethod.add(325, s);
        convertMethod.add(327, new Str(326, "return"));
        convertMethod.add(328, ws);
        Repeat convertMethod_2 = new Repeat(329, "convertMethod_2", convertMethodConvertMethodStatement);
        convertMethod_2.add(331, new Str(330, ";", NOT));
        convertMethod.add(332, convertMethod_2);
        convertMethod.add(334, new Str(333, ";"));
        convertMethod.add(335, s);
        convertMethod.add(337, new Str(336, "}"));

        // classStatement = public "class" ws name:classname s ["extends" ws name s] "{" [s attribute | isvalid | convertMethod | stateMethod]+ s "}"
        classStatement.add(338, _public);
        classStatement.add(340, new Str(339, "class"));
        classStatement.add(341, ws);
        classStatement.add(342, name, classStatementClassStatementClassname);
        classStatement.add(343, s);
        Optional classStatement_1 = new Optional(344, "classStatement_1");
        classStatement_1.add(346, new Str(345, "extends"));
        classStatement_1.add(347, ws);
        classStatement_1.add(348, name);
        classStatement_1.add(349, s);
        classStatement.add(350, classStatement_1);
        classStatement.add(352, new Str(351, "{"));
        Optional classStatement_2 = new Optional(353, "classStatement_2");
        Repeat classStatement_2_1 = new Repeat(354, "classStatement_2_1");
        classStatement_2_1.add(355, s);
        OrList classStatement_2_1_1 = new OrList(356, "classStatement_2_1_1");
        classStatement_2_1_1.add(357, attribute, classStatementClassStatementAttribute);
        classStatement_2_1_1.add(358, isvalid, classStatementClassStatementIsvalid);
        classStatement_2_1_1.add(359, convertMethod, classStatementClassStatementConvertMethod);
        classStatement_2_1_1.add(360, stateMethod, classStatementClassStatementStateMethod);
        classStatement_2_1.add(361, classStatement_2_1_1);
        classStatement_2.add(362, classStatement_2_1);
        classStatement.add(363, classStatement_2);
        classStatement.add(364, s);
        classStatement.add(366, new Str(365, "}"));
View Full Code Here

    private net.sf.laja.parser.engine2.element.Element getGrammar1() {
        // *** Output classes ***

        // *** Declarations ***
        OrList newline = new OrList(1, "newline");
        OrList comment = new OrList(2, "comment");
        Repeat ws = new Repeat(3, "ws");
        Optional s = new Optional(4, "s");
        Str ff = new Str(5, "\"");
        ElementList str = new ElementList(6, "str");
        OrList letter = new OrList(7, "letter");
        Range digit = new Range(8, "digit", "0", "9");
        ElementList name = new ElementList(9, "name");
        Optional _public = new Optional(10, "public");
        ElementList packagestatement = new ElementList(11, "packagestatement");
        ElementList packagename = new ElementList(12, "packagename");
        ElementList fullclassname = new ElementList(13, "fullclassname");
        ElementList importstatement = new ElementList(14, "importstatement");
        Optional imports = new Optional(15, "imports");
        ElementList type = new ElementList(16, "type");
        ElementList initialValue = new ElementList(17, "initialValue");
        ElementList attribute = new ElementList(18, "attribute");
        ElementList attributeComment = new ElementList(19, "attributeComment");
        ElementList statement = new ElementList(20, "statement");
        ElementList isvalid = new ElementList(21, "isvalid");
        ElementList uname = new ElementList(22, "uname");
        ElementList getter = new ElementList(23, "getter");
        ElementList parameters = new ElementList(24, "parameters");
        ElementList argument = new ElementList(25, "argument");
        ElementList method = new ElementList(26, "method");
        ElementList stateMethod = new ElementList(27, "stateMethod");
        ElementList convertMethod = new ElementList(28, "convertMethod");
        ElementList classStatement = new ElementList(29, "classStatement");
        ElementList stateTemplate = new ElementList(30, "stateTemplate");

        // *** Statements ***

        // newline = "\r\n" | "\n"
        newline.add(32, new Str(31, "\r\n"));
        newline.add(34, new Str(33, "\n"));

        // comment = ("/*" [(comment | !"*/")+] "*/") | ("//" [!newline+] newline|END)
        ElementList comment_1 = new ElementList(35, "comment_1");
        comment_1.add(37, new Str(36, "/*"));
        Optional comment_1_1 = new Optional(38, "comment_1_1");
        Repeat comment_1_1_1 = new Repeat(39, "comment_1_1_1");
        OrList comment_1_1_1_1 = new OrList(40, "comment_1_1_1_1");
        comment_1_1_1_1.add(41, comment);
        comment_1_1_1_1.add(43, new Str(42, "*/", NOT));
        comment_1_1_1.add(44, comment_1_1_1_1);
        comment_1_1.add(45, comment_1_1_1);
        comment_1.add(46, comment_1_1);
        comment_1.add(48, new Str(47, "*/"));
        comment.add(49, comment_1);
        ElementList comment_2 = new ElementList(50, "comment_2");
        comment_2.add(52, new Str(51, "//"));
        Optional comment_2_1 = new Optional(53, "comment_2_1");
        Repeat comment_2_1_1 = new Repeat(54, "comment_2_1_1");
        comment_2_1_1.add(55, newline, NOT);
        comment_2_1.add(56, comment_2_1_1);
        comment_2.add(57, comment_2_1);
        OrList comment_2_2 = new OrList(58, "comment_2_2");
        comment_2_2.add(59, newline);
        comment_2_2.add(61, new End(60, "comment_2_2"));
        comment_2.add(62, comment_2_2);
        comment.add(63, comment_2);

        // ws = (newline | " " | "\t" | comment)+
        OrList ws_1 = new OrList(64, "ws_1");
        ws_1.add(65, newline);
        ws_1.add(67, new Str(66, " "));
        ws_1.add(69, new Str(68, "\t"));
        ws_1.add(70, comment);
        ws.add(71, ws_1);

        // s = [ws]
        s.add(72, ws);

        // ff = "\""

        // str = ff (("\\\"" | !(ff|newline))+):strval ff
        str.add(73, ff);
        Repeat str_1 = new Repeat(74, "str_1");
        OrList str_1_1 = new OrList(75, "str_1_1");
        str_1_1.add(77, new Str(76, "\\\""));
        OrList str_1_1_1 = new OrList(78, "str_1_1_1", NOT);
        str_1_1_1.add(79, ff);
        str_1_1_1.add(80, newline);
        str_1_1.add(81, str_1_1_1);
        str_1.add(82, str_1_1);
        str.add(83, str_1);
        str.add(84, ff);

        // letter = "a".."z" | "A".."Z" | "_" | "$"
        letter.add(86, new Range(85, "letter", "a", "z"));
        letter.add(88, new Range(87, "letter", "A", "Z"));
        letter.add(90, new Str(89, "_"));
        letter.add(92, new Str(91, "$"));

        // digit = "0".."9"

        // name = letter [letter | digit]+
        name.add(93, letter);
        Optional name_1 = new Optional(94, "name_1");
        Repeat name_1_1 = new Repeat(95, "name_1_1");
        OrList name_1_1_1 = new OrList(96, "name_1_1_1");
        name_1_1_1.add(97, letter);
        name_1_1_1.add(98, digit);
        name_1_1.add(99, name_1_1_1);
        name_1.add(100, name_1_1);
        name.add(101, name_1);

        // public = ["public" ws]
        _public.add(103, new Str(102, "public"));
        _public.add(104, ws);

        // packagestatement = "package" ws packagename s ";"
        packagestatement.add(106, new Str(105, "package"));
        packagestatement.add(107, ws);
        packagestatement.add(108, packagename);
        packagestatement.add(109, s);
        packagestatement.add(111, new Str(110, ";"));

        // packagename = name ["." name]+
        packagename.add(112, name);
        Optional packagename_1 = new Optional(113, "packagename_1");
        Repeat packagename_1_1 = new Repeat(114, "packagename_1_1");
        packagename_1_1.add(116, new Str(115, "."));
        packagename_1_1.add(117, name);
        packagename_1.add(118, packagename_1_1);
        packagename.add(119, packagename_1);

        // fullclassname = packagename
        fullclassname.add(120, packagename);

        // importstatement = "import" ws ["static":static ws] fullclassname s ";"
        importstatement.add(122, new Str(121, "import"));
        importstatement.add(123, ws);
        Optional importstatement_1 = new Optional(124, "importstatement_1");
        importstatement_1.add(126, new Str(125, "static"));
        importstatement_1.add(127, ws);
        importstatement.add(128, importstatement_1);
        importstatement.add(129, fullclassname);
        importstatement.add(130, s);
        importstatement.add(132, new Str(131, ";"));

        // imports = [s importstatement]+
        Repeat imports_1 = new Repeat(133, "imports_1");
        imports_1.add(134, s);
        imports_1.add(135, importstatement);
        imports.add(136, imports_1);

        // type = name [s "<" s type s ">"] [ s "," s type ]
        type.add(137, name);
        Optional type_1 = new Optional(138, "type_1");
        type_1.add(139, s);
        type_1.add(141, new Str(140, "<"));
        type_1.add(142, s);
        type_1.add(143, type);
        type_1.add(144, s);
        type_1.add(146, new Str(145, ">"));
        type.add(147, type_1);
        Optional type_2 = new Optional(148, "type_2");
        type_2.add(149, s);
        type_2.add(151, new Str(150, ","));
        type_2.add(152, s);
        type_2.add(153, type);
        type.add(154, type_2);

        // initialValue = "=" s !";"+:value
        initialValue.add(156, new Str(155, "="));
        initialValue.add(157, s);
        Repeat initialValue_1 = new Repeat(158, "initialValue_1");
        initialValue_1.add(160, new Str(159, ";", NOT));
        initialValue.add(161, initialValue_1);

        // attribute = type ws name:variable s [initialValue s] ";" attributeComment|s
        attribute.add(162, type);
        attribute.add(163, ws);
        attribute.add(164, name);
        attribute.add(165, s);
        Optional attribute_1 = new Optional(166, "attribute_1");
        attribute_1.add(167, initialValue);
        attribute_1.add(168, s);
        attribute.add(169, attribute_1);
        attribute.add(171, new Str(170, ";"));
        OrList attribute_2 = new OrList(172, "attribute_2");
        attribute_2.add(173, attributeComment);
        attribute_2.add(174, s);
        attribute.add(175, attribute_2);

        // attributeComment = ([" " | "\t"]+ "//" [!newline+]):comment newline|END
        ElementList attributeComment_1 = new ElementList(176, "attributeComment_1");
        Optional attributeComment_1_1 = new Optional(177, "attributeComment_1_1");
        Repeat attributeComment_1_1_1 = new Repeat(178, "attributeComment_1_1_1");
        OrList attributeComment_1_1_1_1 = new OrList(179, "attributeComment_1_1_1_1");
        attributeComment_1_1_1_1.add(181, new Str(180, " "));
        attributeComment_1_1_1_1.add(183, new Str(182, "\t"));
        attributeComment_1_1_1.add(184, attributeComment_1_1_1_1);
        attributeComment_1_1.add(185, attributeComment_1_1_1);
        attributeComment_1.add(186, attributeComment_1_1);
        attributeComment_1.add(188, new Str(187, "//"));
        Optional attributeComment_1_2 = new Optional(189, "attributeComment_1_2");
        Repeat attributeComment_1_2_1 = new Repeat(190, "attributeComment_1_2_1");
        attributeComment_1_2_1.add(191, newline, NOT);
        attributeComment_1_2.add(192, attributeComment_1_2_1);
        attributeComment_1.add(193, attributeComment_1_2);
        attributeComment.add(194, attributeComment_1);
        OrList attributeComment_2 = new OrList(195, "attributeComment_2");
        attributeComment_2.add(196, newline);
        attributeComment_2.add(198, new End(197, "attributeComment_2"));
        attributeComment.add(199, attributeComment_2);

        // statement = "{" s [(statement | str | !"}")+]:innerStatement "}"
        statement.add(201, new Str(200, "{"));
        statement.add(202, s);
        Optional statement_1 = new Optional(203, "statement_1");
        Repeat statement_1_1 = new Repeat(204, "statement_1_1");
        OrList statement_1_1_1 = new OrList(205, "statement_1_1_1");
        statement_1_1_1.add(206, statement);
        statement_1_1_1.add(207, str);
        statement_1_1_1.add(209, new Str(208, "}", NOT));
        statement_1_1.add(210, statement_1_1_1);
        statement_1.add(211, statement_1_1);
        statement.add(212, statement_1);
        statement.add(214, new Str(213, "}"));

        // isvalid = s public "boolean" ws "isValid()" s statement
        isvalid.add(215, s);
        isvalid.add(216, _public);
        isvalid.add(218, new Str(217, "boolean"));
        isvalid.add(219, ws);
        isvalid.add(221, new Str(220, "isValid()"));
        isvalid.add(222, s);
        isvalid.add(223, statement);

        // uname = "A".."Z" [letter | digit]+
        uname.add(225, new Range(224, "uname", "A", "Z"));
        Optional uname_1 = new Optional(226, "uname_1");
        Repeat uname_1_1 = new Repeat(227, "uname_1_1");
        OrList uname_1_1_1 = new OrList(228, "uname_1_1_1");
        uname_1_1_1.add(229, letter);
        uname_1_1_1.add(230, digit);
        uname_1_1.add(231, uname_1_1_1);
        uname_1.add(232, uname_1_1);
        uname.add(233, uname_1);

        // getter = "get" uname s "(" s ")"
        getter.add(235, new Str(234, "get"));
        getter.add(236, uname);
        getter.add(237, s);
        getter.add(239, new Str(238, "("));
        getter.add(240, s);
        getter.add(242, new Str(241, ")"));

        // parameters = s [!")"+]
        parameters.add(243, s);
        Optional parameters_1 = new Optional(244, "parameters_1");
        Repeat parameters_1_1 = new Repeat(245, "parameters_1_1");
        parameters_1_1.add(247, new Str(246, ")", NOT));
        parameters_1.add(248, parameters_1_1);
        parameters.add(249, parameters_1);

        // argument = getter | name:variable [s "." s argument]
        OrList argument_1 = new OrList(250, "argument_1");
        argument_1.add(251, getter);
        argument_1.add(252, name);
        argument.add(253, argument_1);
        Optional argument_2 = new Optional(254, "argument_2");
        argument_2.add(255, s);
        argument_2.add(257, new Str(256, "."));
        argument_2.add(258, s);
        argument_2.add(259, argument);
        argument.add(260, argument_2);

        // method = s "." s name:variable s "(" s argument s ")"
        method.add(261, s);
        method.add(263, new Str(262, "."));
        method.add(264, s);
        method.add(265, name);
        method.add(266, s);
        method.add(268, new Str(267, "("));
        method.add(269, s);
        method.add(270, argument);
        method.add(271, s);
        method.add(273, new Str(272, ")"));

        // stateMethod = public name:returnclass ws "state" uname s "(" parameters ")" s "{" s  "return" ws name:implclass s method+ s ";" s "}"
        stateMethod.add(274, _public);
        stateMethod.add(275, name);
        stateMethod.add(276, ws);
        stateMethod.add(278, new Str(277, "state"));
        stateMethod.add(279, uname);
        stateMethod.add(280, s);
        stateMethod.add(282, new Str(281, "("));
        stateMethod.add(283, parameters);
        stateMethod.add(285, new Str(284, ")"));
        stateMethod.add(286, s);
        stateMethod.add(288, new Str(287, "{"));
        stateMethod.add(289, s);
        stateMethod.add(291, new Str(290, "return"));
        stateMethod.add(292, ws);
        stateMethod.add(293, name);
        stateMethod.add(294, s);
        Repeat stateMethod_1 = new Repeat(295, "stateMethod_1");
        stateMethod_1.add(296, method);
        stateMethod.add(297, stateMethod_1);
        stateMethod.add(298, s);
        stateMethod.add(300, new Str(299, ";"));
        stateMethod.add(301, s);
        stateMethod.add(303, new Str(302, "}"));

        // convertMethod = public name ws "convert" [uname] s "(" s name:type ws name:variable s ")" s "{" s "return" ws !";"+:statement ";" s "}"
        convertMethod.add(304, _public);
        convertMethod.add(305, name);
        convertMethod.add(306, ws);
        convertMethod.add(308, new Str(307, "convert"));
        Optional convertMethod_1 = new Optional(309, "convertMethod_1");
        convertMethod_1.add(310, uname);
        convertMethod.add(311, convertMethod_1);
        convertMethod.add(312, s);
        convertMethod.add(314, new Str(313, "("));
        convertMethod.add(315, s);
        convertMethod.add(316, name);
        convertMethod.add(317, ws);
        convertMethod.add(318, name);
        convertMethod.add(319, s);
        convertMethod.add(321, new Str(320, ")"));
        convertMethod.add(322, s);
        convertMethod.add(324, new Str(323, "{"));
        convertMethod.add(325, s);
        convertMethod.add(327, new Str(326, "return"));
        convertMethod.add(328, ws);
        Repeat convertMethod_2 = new Repeat(329, "convertMethod_2");
        convertMethod_2.add(331, new Str(330, ";", NOT));
        convertMethod.add(332, convertMethod_2);
        convertMethod.add(334, new Str(333, ";"));
        convertMethod.add(335, s);
        convertMethod.add(337, new Str(336, "}"));

        // classStatement = public "class" ws name:classname s ["extends" ws name s] "{" [s attribute | isvalid | convertMethod | stateMethod]+ s "}"
        classStatement.add(338, _public);
        classStatement.add(340, new Str(339, "class"));
        classStatement.add(341, ws);
        classStatement.add(342, name);
        classStatement.add(343, s);
        Optional classStatement_1 = new Optional(344, "classStatement_1");
        classStatement_1.add(346, new Str(345, "extends"));
        classStatement_1.add(347, ws);
        classStatement_1.add(348, name);
        classStatement_1.add(349, s);
        classStatement.add(350, classStatement_1);
        classStatement.add(352, new Str(351, "{"));
        Optional classStatement_2 = new Optional(353, "classStatement_2");
        Repeat classStatement_2_1 = new Repeat(354, "classStatement_2_1");
        classStatement_2_1.add(355, s);
        OrList classStatement_2_1_1 = new OrList(356, "classStatement_2_1_1");
        classStatement_2_1_1.add(357, attribute);
        classStatement_2_1_1.add(358, isvalid);
        classStatement_2_1_1.add(359, convertMethod);
        classStatement_2_1_1.add(360, stateMethod);
        classStatement_2_1.add(361, classStatement_2_1_1);
        classStatement_2.add(362, classStatement_2_1);
        classStatement.add(363, classStatement_2);
        classStatement.add(364, s);
        classStatement.add(366, new Str(365, "}"));
View Full Code Here

    // *** Output classes ***
    Data.DefaultSyntaxErrorRowContent defaultSyntaxErrorRowContent = data2.new DefaultSyntaxErrorRowContent("defaultSyntaxErrorRowContent");
    Data.DefaultSyntaxErrorDefaultSyntaxErrorLine defaultSyntaxErrorDefaultSyntaxErrorLine = data2.new DefaultSyntaxErrorDefaultSyntaxErrorLine("defaultSyntaxErrorDefaultSyntaxErrorLine");

    // *** Declarations and Statements ***
    OrList cr = new OrList(1, "cr");
    ElementList row = new ElementList(2, "row");
    ElementList defaultSyntaxError = new ElementList(3, "defaultSyntaxError");

    // cr = "\r\n" | "\n"
    cr.add(5, new Str(4, "\r\n"));
    cr.add(7, new Str(6, "\n"));

    // row = [!cr+]:content cr
    Optional row_1 = new Optional(8, "row_1", defaultSyntaxErrorRowContent);
    Repeat row_1_1 = new Repeat(9, "row_1_1");
    row_1_1.add(10, cr, NOT);
View Full Code Here

  private net.sf.laja.parser.engine2.element.Element getGrammar1() {
    // *** Output classes ***

    // *** Declarations and Statements ***
    OrList cr = new OrList(1, "cr");
    ElementList row = new ElementList(2, "row");
    ElementList defaultSyntaxError = new ElementList(3, "defaultSyntaxError");

    // cr = "\r\n" | "\n"
    cr.add(5, new Str(4, "\r\n"));
    cr.add(7, new Str(6, "\n"));

    // row = [!cr+]:content cr
    Optional row_1 = new Optional(8, "row_1");
    Repeat row_1_1 = new Repeat(9, "row_1_1");
    row_1_1.add(10, cr, NOT);
View Full Code Here

        Repeat ws = new Repeat(3, "ws");
        Optional s = new Optional(4, "s");
        Str ff = new Str(5, "\"");
        ElementList str = new ElementList(6, "str");
        OrList letter = new OrList(7, "letter");
        Range digit = new Range(8, "digit", "0", "9");
        ElementList name = new ElementList(9, "name");
        ElementList uname = new ElementList(10, "uname");
        Optional _public = new Optional(11, "public");
        ElementList packagestatement = new ElementList(12, "packagestatement");
        ElementList packagename = new ElementList(13, "packagename");
        ElementList fullclassname = new ElementList(14, "fullclassname");
        ElementList importstatement = new ElementList(15, "importstatement", importstatementImportstatement);
        Optional imports = new Optional(16, "imports");
        ElementList parameter = new ElementList(17, "parameter");
        ElementList parameters = new ElementList(18, "parameters");
        ElementList statement = new ElementList(19, "statement");
        Optional skipCurlyBrace = new Optional(20, "skipCurlyBrace");
        ElementList stateStatement = new ElementList(21, "stateStatement");
        ElementList stateConstructor = new ElementList(22, "stateConstructor");
        ElementList asMethod = new ElementList(23, "asMethod");
        ElementList behaviourMethod = new ElementList(24, "behaviourMethod");
        ElementList behaviour = new ElementList(25, "behaviour");

        // *** Statements ***

        // newline = "\r\n" | "\n"
        newline.add(27, new Str(26, "\r\n"));
        newline.add(29, new Str(28, "\n"));

        // comment = ("/*" [(comment | !"*/")+] "*/") | ("//" [!newline+] newline|END)
        ElementList comment_1 = new ElementList(30, "comment_1");
        comment_1.add(32, new Str(31, "/*"));
        Optional comment_1_1 = new Optional(33, "comment_1_1");
        Repeat comment_1_1_1 = new Repeat(34, "comment_1_1_1");
        OrList comment_1_1_1_1 = new OrList(35, "comment_1_1_1_1");
        comment_1_1_1_1.add(36, comment);
        comment_1_1_1_1.add(38, new Str(37, "*/", NOT));
        comment_1_1_1.add(39, comment_1_1_1_1);
        comment_1_1.add(40, comment_1_1_1);
        comment_1.add(41, comment_1_1);
        comment_1.add(43, new Str(42, "*/"));
        comment.add(44, comment_1);
        ElementList comment_2 = new ElementList(45, "comment_2");
        comment_2.add(47, new Str(46, "//"));
        Optional comment_2_1 = new Optional(48, "comment_2_1");
        Repeat comment_2_1_1 = new Repeat(49, "comment_2_1_1");
        comment_2_1_1.add(50, newline, NOT);
        comment_2_1.add(51, comment_2_1_1);
        comment_2.add(52, comment_2_1);
        OrList comment_2_2 = new OrList(53, "comment_2_2");
        comment_2_2.add(54, newline);
        comment_2_2.add(56, new End(55, "comment_2_2"));
        comment_2.add(57, comment_2_2);
        comment.add(58, comment_2);

        // ws = (newline | " " | "\t" | comment)+
        OrList ws_1 = new OrList(59, "ws_1");
        ws_1.add(60, newline);
        ws_1.add(62, new Str(61, " "));
        ws_1.add(64, new Str(63, "\t"));
        ws_1.add(65, comment);
        ws.add(66, ws_1);

        // s = [ws]
        s.add(67, ws);

        // ff = "\""

        // str = ff (("\\\"" | !(ff|newline))+):strval ff
        str.add(68, ff);
        Repeat str_1 = new Repeat(69, "str_1");
        OrList str_1_1 = new OrList(70, "str_1_1");
        str_1_1.add(72, new Str(71, "\\\""));
        OrList str_1_1_1 = new OrList(73, "str_1_1_1", NOT);
        str_1_1_1.add(74, ff);
        str_1_1_1.add(75, newline);
        str_1_1.add(76, str_1_1_1);
        str_1.add(77, str_1_1);
        str.add(78, str_1);
        str.add(79, ff);

        // letter = "a".."z" | "A".."Z" | "_" | "$"
        letter.add(81, new Range(80, "letter", "a", "z"));
        letter.add(83, new Range(82, "letter", "A", "Z"));
        letter.add(85, new Str(84, "_"));
        letter.add(87, new Str(86, "$"));

        // digit = "0".."9"

        // name = letter [letter | digit]+
        name.add(88, letter);
        Optional name_1 = new Optional(89, "name_1");
        Repeat name_1_1 = new Repeat(90, "name_1_1");
        OrList name_1_1_1 = new OrList(91, "name_1_1_1");
        name_1_1_1.add(92, letter);
        name_1_1_1.add(93, digit);
        name_1_1.add(94, name_1_1_1);
        name_1.add(95, name_1_1);
        name.add(96, name_1);

        // uname = "A".."Z" [letter | digit]+
        uname.add(98, new Range(97, "uname", "A", "Z"));
        Optional uname_1 = new Optional(99, "uname_1");
        Repeat uname_1_1 = new Repeat(100, "uname_1_1");
        OrList uname_1_1_1 = new OrList(101, "uname_1_1_1");
        uname_1_1_1.add(102, letter);
        uname_1_1_1.add(103, digit);
View Full Code Here

        Repeat ws = new Repeat(3, "ws");
        Optional s = new Optional(4, "s");
        Str ff = new Str(5, "\"");
        ElementList str = new ElementList(6, "str");
        OrList letter = new OrList(7, "letter");
        Range digit = new Range(8, "digit", "0", "9");
        ElementList name = new ElementList(9, "name");
        ElementList uname = new ElementList(10, "uname");
        Optional _public = new Optional(11, "public");
        ElementList packagestatement = new ElementList(12, "packagestatement");
        ElementList packagename = new ElementList(13, "packagename");
        ElementList fullclassname = new ElementList(14, "fullclassname");
        ElementList importstatement = new ElementList(15, "importstatement");
        Optional imports = new Optional(16, "imports");
        ElementList parameter = new ElementList(17, "parameter");
        ElementList parameters = new ElementList(18, "parameters");
        ElementList statement = new ElementList(19, "statement");
        Optional skipCurlyBrace = new Optional(20, "skipCurlyBrace");
        ElementList stateStatement = new ElementList(21, "stateStatement");
        ElementList stateConstructor = new ElementList(22, "stateConstructor");
        ElementList asMethod = new ElementList(23, "asMethod");
        ElementList behaviourMethod = new ElementList(24, "behaviourMethod");
        ElementList behaviour = new ElementList(25, "behaviour");

        // *** Statements ***

        // newline = "\r\n" | "\n"
        newline.add(27, new Str(26, "\r\n"));
        newline.add(29, new Str(28, "\n"));

        // comment = ("/*" [(comment | !"*/")+] "*/") | ("//" [!newline+] newline|END)
        ElementList comment_1 = new ElementList(30, "comment_1");
        comment_1.add(32, new Str(31, "/*"));
        Optional comment_1_1 = new Optional(33, "comment_1_1");
        Repeat comment_1_1_1 = new Repeat(34, "comment_1_1_1");
        OrList comment_1_1_1_1 = new OrList(35, "comment_1_1_1_1");
        comment_1_1_1_1.add(36, comment);
        comment_1_1_1_1.add(38, new Str(37, "*/", NOT));
        comment_1_1_1.add(39, comment_1_1_1_1);
        comment_1_1.add(40, comment_1_1_1);
        comment_1.add(41, comment_1_1);
        comment_1.add(43, new Str(42, "*/"));
        comment.add(44, comment_1);
        ElementList comment_2 = new ElementList(45, "comment_2");
        comment_2.add(47, new Str(46, "//"));
        Optional comment_2_1 = new Optional(48, "comment_2_1");
        Repeat comment_2_1_1 = new Repeat(49, "comment_2_1_1");
        comment_2_1_1.add(50, newline, NOT);
        comment_2_1.add(51, comment_2_1_1);
        comment_2.add(52, comment_2_1);
        OrList comment_2_2 = new OrList(53, "comment_2_2");
        comment_2_2.add(54, newline);
        comment_2_2.add(56, new End(55, "comment_2_2"));
        comment_2.add(57, comment_2_2);
        comment.add(58, comment_2);

        // ws = (newline | " " | "\t" | comment)+
        OrList ws_1 = new OrList(59, "ws_1");
        ws_1.add(60, newline);
        ws_1.add(62, new Str(61, " "));
        ws_1.add(64, new Str(63, "\t"));
        ws_1.add(65, comment);
        ws.add(66, ws_1);

        // s = [ws]
        s.add(67, ws);

        // ff = "\""

        // str = ff (("\\\"" | !(ff|newline))+):strval ff
        str.add(68, ff);
        Repeat str_1 = new Repeat(69, "str_1");
        OrList str_1_1 = new OrList(70, "str_1_1");
        str_1_1.add(72, new Str(71, "\\\""));
        OrList str_1_1_1 = new OrList(73, "str_1_1_1", NOT);
        str_1_1_1.add(74, ff);
        str_1_1_1.add(75, newline);
        str_1_1.add(76, str_1_1_1);
        str_1.add(77, str_1_1);
        str.add(78, str_1);
        str.add(79, ff);

        // letter = "a".."z" | "A".."Z" | "_" | "$"
        letter.add(81, new Range(80, "letter", "a", "z"));
        letter.add(83, new Range(82, "letter", "A", "Z"));
        letter.add(85, new Str(84, "_"));
        letter.add(87, new Str(86, "$"));

        // digit = "0".."9"

        // name = letter [letter | digit]+
        name.add(88, letter);
        Optional name_1 = new Optional(89, "name_1");
        Repeat name_1_1 = new Repeat(90, "name_1_1");
        OrList name_1_1_1 = new OrList(91, "name_1_1_1");
        name_1_1_1.add(92, letter);
        name_1_1_1.add(93, digit);
        name_1_1.add(94, name_1_1_1);
        name_1.add(95, name_1_1);
        name.add(96, name_1);

        // uname = "A".."Z" [letter | digit]+
        uname.add(98, new Range(97, "uname", "A", "Z"));
        Optional uname_1 = new Optional(99, "uname_1");
        Repeat uname_1_1 = new Repeat(100, "uname_1_1");
        OrList uname_1_1_1 = new OrList(101, "uname_1_1_1");
        uname_1_1_1.add(102, letter);
        uname_1_1_1.add(103, digit);
View Full Code Here

TOP

Related Classes of net.sf.laja.parser.engine2.element.OrList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.