Ask Your Question
0

Unexpected Ambiguity Error (":?" vs "visit")

asked Jan 05

Hossein gravatar image Hossein
81 8 20

updated Jan 06

Anyone here knows why Rascal produces the error message at the P.S. for the following code:

public Exp subst(Exp e, str arg, var(replacement)) { //line 54
  return (arg notin fv(e))? e: visit (e) {
    case app(ee, arg) => app(ee, replacement)
    case var(arg) => var(replacement)
  };
}

It looks to be like this is an internal bug; perhaps the relative precedence between ?: and visit is not well-defined?

P.S.

rascal>subst(lam("z", var("z")), "z", var("t"));
Unexpected ambiguity at |project://Hossein/src/ExpAbstractSyntax.rsc|(1615,121,<55,9>,<58,3>): "amb({appl(prod(label(\"IfDefinedOtherwise\",sort(\"Expression\")),[label(\"lhs\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\"?\"),layouts(\"LAYOUTLIST\"),label(\"rhs\",sort(\"Expression\"))],{assoc(\\non-assoc())}),[appl(prod(label(\"Bracket\",sort(\"Expression\")),[lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"expression\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\")\")],{bracket()}),[appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,0,\<55,10\>,\<55,10\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,0,\<55,10\>,\<55,10\>)],appl(prod(label(\"NotIn\",sort(\"Expression\")),[label(\"lhs\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\"notin\"),layouts(\"LAYOUTLIST\"),label(\"rhs\",sort(\"Expression\"))],{assoc(\\non-assoc())}),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(97),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(114),char(103)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1617,2,\<55,11\>,\<55,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,3,\<55,10\>,\<55,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,3,\<55,10\>,\<55,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,3,\<55,10\>,\<55,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,3,\<55,10\>,\<55,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,3,\<55,10\>,\<55,13\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1619,1,\<55,13\>,\<55,14\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1619,1,\<55,13\>,\<55,14\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1619,1,\<55,13\>,\<55,14\>)],appl(prod(lit(\"notin\"),[\\char-class([range(110,110)]),\\char-class([range(111,111)]),\\char-class([range(116,116)]),\\char-class([range(105,105)]),\\char-class([range(110,110)])],{}),[char(110),char(111),char(116),char(105),char(110)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1625,1,\<55,19\>,\<55,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1625,1,\<55,19\>,\<55,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1625,1,\<55,19\>,\<55,20\>)],appl(prod(label(\"CallOrTree\",sort(\"Expression\")),[label(\"expression\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"arguments\",\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\")\")],{}),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(102),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(118)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1627,1,\<55,21\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,2,\<55,20\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,2,\<55,20\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,2,\<55,20\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,2,\<55,20\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,2,\<55,20\>,\<55,22\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1628,0,\<55,22\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1628,0,\<55,22\>,\<55,22\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,0,\<55,23\>,\<55,23\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,0,\<55,23\>,\<55,23\>)],appl(regular(\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(101),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1630,0,\<55,24\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1630,0,\<55,24\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1630,0,\<55,24\>,\<55,24\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,5,\<55,20\>,\<55,25\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,15,\<55,10\>,\<55,25\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1631,0,\<55,25\>,\<55,25\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1631,0,\<55,25\>,\<55,25\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1615,17,\<55,9\>,\<55,26\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1632,0,\<55,26\>,\<55,26\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1632,0,\<55,26\>,\<55,26\>)],appl(prod(lit(\"?\"),[\\char-class([range(63,63)])],{}),[char(63)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1633,1,\<55,27\>,\<55,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1633,1,\<55,27\>,\<55,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1633,1,\<55,27\>,\<55,28\>)],appl(prod(label(\"Visit\",sort(\"Expression\")),[label(\"label\",sort(\"Label\")),layouts(\"LAYOUTLIST\"),label(\"visit\",sort(\"Visit\"))],{}),[appl(prod(label(\"Default\",sort(\"Label\")),[label(\"name\",lex(\"Name\")),layouts(\"LAYOUTLIST\"),lit(\":\")],{}),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(101),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1635,0,\<55,29\>,\<55,29\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1634,1,\<55,28\>,\<55,29\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1634,1,\<55,28\>,\<55,29\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1635,0,\<55,29\>,\<55,29\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1635,0,\<55,29\>,\<55,29\>)],appl(prod(lit(\":\"),[\\char-class([range(58,58)])],{}),[char(58)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1634,2,\<55,28\>,\<55,30\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1636,1,\<55,30\>,\<55,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1636,1,\<55,30\>,\<55,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1636,1,\<55,30\>,\<55,31\>)],appl(prod(label(\"DefaultStrategy\",sort(\"Visit\")),[lit(\"visit\"),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"subject\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\")\"),layouts(\"LAYOUTLIST\"),lit(\"{\"),layouts(\"LAYOUTLIST\"),label(\"cases\",\\iter-seps(sort(\"Case\"),[layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\"}\")],{}),[appl(prod(lit(\"visit\"),[\\char-class([range(118,118)]),\\char-class([range(105,105)]),\\char-class([range(115,115)]),\\char-class([range(105,105)]),\\char-class([range(116,116)])],{}),[char(118),char(105),char(115),char(105),char(116)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1642,1,\<55,36\>,\<55,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1642,1,\<55,36\>,\<55,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1642,1,\<55,36\>,\<55,37\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,0,\<55,38\>,\<55,38\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,0,\<55,38\>,\<55,38\>)],appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(101),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1645,0,\<55,39\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,1,\<55,38\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,1,\<55,38\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,1,\<55,38\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,1,\<55,38\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,1,\<55,38\>,\<55,39\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1645,0,\<55,39\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1645,0,\<55,39\>,\<55,39\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1646,1,\<55,40\>,\<55,41\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1646,1,\<55,40\>,\<55,41\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1646,1,\<55,40\>,\<55,41\>)],appl(prod(lit(\"{\"),[\\char-class([range(123,123)])],{}),[char(123)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(10)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1648,1,\<55,42\>,\<56,0\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1649,1,\<56,0\>,\<56,1\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1650,1,\<56,1\>,\<56,2\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1651,1,\<56,2\>,\<56,3\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1652,1,\<56,3\>,\<56,4\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1648,5,\<55,42\>,\<56,4\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1648,5,\<55,42\>,\<56,4\>)],appl(regular(\\iter-seps(sort(\"Case\"),[layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"PatternWithAction\",sort(\"Case\")),[lit(\"case\"),layouts(\"LAYOUTLIST\"),label(\"patternWithAction\",sort(\"PatternWithAction\"))],{tag(Foldable())}),[appl(prod(lit(\"case\"),[\\char-class([range(99,99)]),\\char-class([range(97,97)]),\\char-class([range(115,115)]),\\char-class([range(101,101)])],{}),[char(99),char(97),char(115),char(101)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1657,1,\<56,8\>,\<56,9\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1657,1,\<56,8\>,\<56,9\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1657,1,\<56,8\>,\<56,9\>)],appl(prod(label(\"Replacing\",sort(\"PatternWithAction\")),[label(\"pattern\",sort(\"Pattern\")),layouts(\"LAYOUTLIST\"),lit(\"=\\\>\"),layouts(\"LAYOUTLIST\"),label(\"replacement\",sort(\"Replacement\"))],{}),[appl(prod(label(\"CallOrTree\",sort(\"Pattern\")),[label(\"expression\",sort(\"Pattern\")),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"arguments\",\\iter-star-seps(sort(\"Pattern\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\")\")],{}),[appl(prod(label(\"QualifiedName\",sort(\"Pattern\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(97),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(112),char(112)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1659,2,\<56,10\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,3,\<56,9\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,3,\<56,9\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,3,\<56,9\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,3,\<56,9\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,3,\<56,9\>,\<56,12\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1661,0,\<56,12\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1661,0,\<56,12\>,\<56,12\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,0,\<56,13\>,\<56,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,0,\<56,13\>,\<56,13\>)],appl(regular(\\iter-star-seps(sort(\"Pattern\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"QualifiedName\",sort(\"Pattern\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(101),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(101)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1663,1,\<56,14\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,2,\<56,13\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,2,\<56,13\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,2,\<56,13\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,2,\<56,13\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,2,\<56,13\>,\<56,15\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1664,0,\<56,15\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1664,0,\<56,15\>,\<56,15\>)],appl(prod(lit(\",\"),[\\char-class([range(44,44)])],{}),[char(44)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1665,1,\<56,16\>,\<56,17\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1665,1,\<56,16\>,\<56,17\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1665,1,\<56,16\>,\<56,17\>)],appl(prod(label(\"QualifiedName\",sort(\"Pattern\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(97),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(114),char(103)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1667,2,\<56,18\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1666,3,\<56,17\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1666,3,\<56,17\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1666,3,\<56,17\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1666,3,\<56,17\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1666,3,\<56,17\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,7,\<56,13\>,\<56,20\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1669,0,\<56,20\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1669,0,\<56,20\>,\<56,20\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,12,\<56,9\>,\<56,21\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1670,1,\<56,21\>,\<56,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1670,1,\<56,21\>,\<56,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1670,1,\<56,21\>,\<56,22\>)],appl(prod(lit(\"=\\\>\"),[\\char-class([range(61,61)]),\\char-class([range(62,62)])],{}),[char(61),char(62)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1673,1,\<56,24\>,\<56,25\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1673,1,\<56,24\>,\<56,25\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1673,1,\<56,24\>,\<56,25\>)],appl(prod(label(\"Unconditional\",sort(\"Replacement\")),[label(\"replacementExpression\",sort(\"Expression\"))],{}),[appl(prod(label(\"CallOrTree\",sort(\"Expression\")),[label(\"expression\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"arguments\",\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\")\")],{}),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(97),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(112),char(112)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1675,2,\<56,26\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,3,\<56,25\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,3,\<56,25\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,3,\<56,25\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,3,\<56,25\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,3,\<56,25\>,\<56,28\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1677,0,\<56,28\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1677,0,\<56,28\>,\<56,28\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,0,\<56,29\>,\<56,29\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,0,\<56,29\>,\<56,29\>)],appl(regular(\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(101),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(101)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1679,1,\<56,30\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,2,\<56,29\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,2,\<56,29\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,2,\<56,29\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,2,\<56,29\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,2,\<56,29\>,\<56,31\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1680,0,\<56,31\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1680,0,\<56,31\>,\<56,31\>)],appl(prod(lit(\",\"),[\\char-class([range(44,44)])],{}),[char(44)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1681,1,\<56,32\>,\<56,33\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1681,1,\<56,32\>,\<56,33\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1681,1,\<56,32\>,\<56,33\>)],appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(114),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(101),char(112),char(108),char(97),char(99),char(101),char(109),char(101),char(110),char(116)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1683,10,\<56,34\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1682,11,\<56,33\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1682,11,\<56,33\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1682,11,\<56,33\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1682,11,\<56,33\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1682,11,\<56,33\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,15,\<56,29\>,\<56,44\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1693,0,\<56,44\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1693,0,\<56,44\>,\<56,44\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,20,\<56,25\>,\<56,45\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,20,\<56,25\>,\<56,45\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,36,\<56,9\>,\<56,45\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1653,41,\<56,4\>,\<56,45\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(10)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1694,1,\<56,45\>,\<57,0\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1695,1,\<57,0\>,\<57,1\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1696,1,\<57,1\>,\<57,2\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1697,1,\<57,2\>,\<57,3\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1698,1,\<57,3\>,\<57,4\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1694,5,\<56,45\>,\<57,4\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1694,5,\<56,45\>,\<57,4\>)],appl(prod(label(\"PatternWithAction\",sort(\"Case\")),[lit(\"case\"),layouts(\"LAYOUTLIST\"),label(\"patternWithAction\",sort(\"PatternWithAction\"))],{tag(Foldable())}),[appl(prod(lit(\"case\"),[\\char-class([range(99,99)]),\\char-class([range(97,97)]),\\char-class([range(115,115)]),\\char-class([range(101,101)])],{}),[char(99),char(97),char(115),char(101)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1703,1,\<57,8\>,\<57,9\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1703,1,\<57,8\>,\<57,9\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1703,1,\<57,8\>,\<57,9\>)],appl(prod(label(\"Replacing\",sort(\"PatternWithAction\")),[label(\"pattern\",sort(\"Pattern\")),layouts(\"LAYOUTLIST\"),lit(\"=\\\>\"),layouts(\"LAYOUTLIST\"),label(\"replacement\",sort(\"Replacement\"))],{}),[appl(prod(label(\"CallOrTree\",sort(\"Pattern\")),[label(\"expression\",sort(\"Pattern\")),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"arguments\",\\iter-star-seps(sort(\"Pattern\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\")\")],{}),[appl(prod(label(\"QualifiedName\",sort(\"Pattern\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(118),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(97),char(114)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1705,2,\<57,10\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,3,\<57,9\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,3,\<57,9\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,3,\<57,9\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,3,\<57,9\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,3,\<57,9\>,\<57,12\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1707,0,\<57,12\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1707,0,\<57,12\>,\<57,12\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,0,\<57,13\>,\<57,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,0,\<57,13\>,\<57,13\>)],appl(regular(\\iter-star-seps(sort(\"Pattern\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"QualifiedName\",sort(\"Pattern\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(97),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(114),char(103)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1709,2,\<57,14\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1711,0,\<57,16\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1711,0,\<57,16\>,\<57,16\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,8,\<57,9\>,\<57,17\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1712,1,\<57,17\>,\<57,18\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1712,1,\<57,17\>,\<57,18\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1712,1,\<57,17\>,\<57,18\>)],appl(prod(lit(\"=\\\>\"),[\\char-class([range(61,61)]),\\char-class([range(62,62)])],{}),[char(61),char(62)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1715,1,\<57,20\>,\<57,21\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1715,1,\<57,20\>,\<57,21\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1715,1,\<57,20\>,\<57,21\>)],appl(prod(label(\"Unconditional\",sort(\"Replacement\")),[label(\"replacementExpression\",sort(\"Expression\"))],{}),[appl(prod(label(\"CallOrTree\",sort(\"Expression\")),[label(\"expression\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"arguments\",\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\")\")],{}),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(118),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(97),char(114)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1717,2,\<57,22\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,3,\<57,21\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,3,\<57,21\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,3,\<57,21\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,3,\<57,21\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,3,\<57,21\>,\<57,24\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1719,0,\<57,24\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1719,0,\<57,24\>,\<57,24\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,0,\<57,25\>,\<57,25\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,0,\<57,25\>,\<57,25\>)],appl(regular(\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(114),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(101),char(112),char(108),char(97),char(99),char(101),char(109),char(101),char(110),char(116)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1721,10,\<57,26\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1731,0,\<57,36\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1731,0,\<57,36\>,\<57,36\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,16,\<57,21\>,\<57,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,16,\<57,21\>,\<57,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,28,\<57,9\>,\<57,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1699,33,\<57,4\>,\<57,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1653,79,\<56,4\>,\<57,37\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(10)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1732,1,\<57,37\>,\<58,0\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1733,1,\<58,0\>,\<58,1\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1734,1,\<58,1\>,\<58,2\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1732,3,\<57,37\>,\<58,2\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1732,3,\<57,37\>,\<58,2\>)],appl(prod(lit(\"}\"),[\\char-class([range(125,125)])],{}),[char(125)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1637,99,\<55,31\>,\<58,3\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1634,102,\<55,28\>,\<58,3\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1615,121,\<55,9\>,\<58,3\>)],appl(prod(label(\"IfThenElse\",sort(\"Expression\")),[label(\"condition\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\"?\"),layouts(\"LAYOUTLIST\"),label(\"thenExp\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\":\"),layouts(\"LAYOUTLIST\"),label(\"elseExp\",sort(\"Expression\"))],{assoc(left())}),[appl(prod(label(\"Bracket\",sort(\"Expression\")),[lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"expression\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\")\")],{bracket()}),[appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,0,\<55,10\>,\<55,10\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,0,\<55,10\>,\<55,10\>)],appl(prod(label(\"NotIn\",sort(\"Expression\")),[label(\"lhs\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\"notin\"),layouts(\"LAYOUTLIST\"),label(\"rhs\",sort(\"Expression\"))],{assoc(\\non-assoc())}),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(97),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(114),char(103)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1617,2,\<55,11\>,\<55,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,3,\<55,10\>,\<55,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,3,\<55,10\>,\<55,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,3,\<55,10\>,\<55,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,3,\<55,10\>,\<55,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,3,\<55,10\>,\<55,13\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1619,1,\<55,13\>,\<55,14\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1619,1,\<55,13\>,\<55,14\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1619,1,\<55,13\>,\<55,14\>)],appl(prod(lit(\"notin\"),[\\char-class([range(110,110)]),\\char-class([range(111,111)]),\\char-class([range(116,116)]),\\char-class([range(105,105)]),\\char-class([range(110,110)])],{}),[char(110),char(111),char(116),char(105),char(110)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1625,1,\<55,19\>,\<55,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1625,1,\<55,19\>,\<55,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1625,1,\<55,19\>,\<55,20\>)],appl(prod(label(\"CallOrTree\",sort(\"Expression\")),[label(\"expression\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"arguments\",\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\")\")],{}),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(102),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(118)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1627,1,\<55,21\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,2,\<55,20\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,2,\<55,20\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,2,\<55,20\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,2,\<55,20\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,2,\<55,20\>,\<55,22\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1628,0,\<55,22\>,\<55,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1628,0,\<55,22\>,\<55,22\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,0,\<55,23\>,\<55,23\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,0,\<55,23\>,\<55,23\>)],appl(regular(\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(101),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1630,0,\<55,24\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1629,1,\<55,23\>,\<55,24\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1630,0,\<55,24\>,\<55,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1630,0,\<55,24\>,\<55,24\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1626,5,\<55,20\>,\<55,25\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1616,15,\<55,10\>,\<55,25\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1631,0,\<55,25\>,\<55,25\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1631,0,\<55,25\>,\<55,25\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1615,17,\<55,9\>,\<55,26\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1632,0,\<55,26\>,\<55,26\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1632,0,\<55,26\>,\<55,26\>)],appl(prod(lit(\"?\"),[\\char-class([range(63,63)])],{}),[char(63)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1633,1,\<55,27\>,\<55,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1633,1,\<55,27\>,\<55,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1633,1,\<55,27\>,\<55,28\>)],appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(101),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1635,0,\<55,29\>,\<55,29\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1634,1,\<55,28\>,\<55,29\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1634,1,\<55,28\>,\<55,29\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1634,1,\<55,28\>,\<55,29\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1634,1,\<55,28\>,\<55,29\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1634,1,\<55,28\>,\<55,29\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1635,0,\<55,29\>,\<55,29\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1635,0,\<55,29\>,\<55,29\>)],appl(prod(lit(\":\"),[\\char-class([range(58,58)])],{}),[char(58)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1636,1,\<55,30\>,\<55,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1636,1,\<55,30\>,\<55,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1636,1,\<55,30\>,\<55,31\>)],appl(prod(label(\"Visit\",sort(\"Expression\")),[label(\"label\",sort(\"Label\")),layouts(\"LAYOUTLIST\"),label(\"visit\",sort(\"Visit\"))],{}),[appl(prod(label(\"Empty\",sort(\"Label\")),[],{}),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1637,0,\<55,31\>,\<55,31\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1637,0,\<55,31\>,\<55,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1637,0,\<55,31\>,\<55,31\>)],appl(prod(label(\"DefaultStrategy\",sort(\"Visit\")),[lit(\"visit\"),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"subject\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\")\"),layouts(\"LAYOUTLIST\"),lit(\"{\"),layouts(\"LAYOUTLIST\"),label(\"cases\",\\iter-seps(sort(\"Case\"),[layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\"}\")],{}),[appl(prod(lit(\"visit\"),[\\char-class([range(118,118)]),\\char-class([range(105,105)]),\\char-class([range(115,115)]),\\char-class([range(105,105)]),\\char-class([range(116,116)])],{}),[char(118),char(105),char(115),char(105),char(116)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1642,1,\<55,36\>,\<55,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1642,1,\<55,36\>,\<55,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1642,1,\<55,36\>,\<55,37\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,0,\<55,38\>,\<55,38\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,0,\<55,38\>,\<55,38\>)],appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(101),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1645,0,\<55,39\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,1,\<55,38\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,1,\<55,38\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,1,\<55,38\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,1,\<55,38\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1644,1,\<55,38\>,\<55,39\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1645,0,\<55,39\>,\<55,39\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1645,0,\<55,39\>,\<55,39\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1646,1,\<55,40\>,\<55,41\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1646,1,\<55,40\>,\<55,41\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1646,1,\<55,40\>,\<55,41\>)],appl(prod(lit(\"{\"),[\\char-class([range(123,123)])],{}),[char(123)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(10)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1648,1,\<55,42\>,\<56,0\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1649,1,\<56,0\>,\<56,1\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1650,1,\<56,1\>,\<56,2\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1651,1,\<56,2\>,\<56,3\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1652,1,\<56,3\>,\<56,4\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1648,5,\<55,42\>,\<56,4\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1648,5,\<55,42\>,\<56,4\>)],appl(regular(\\iter-seps(sort(\"Case\"),[layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"PatternWithAction\",sort(\"Case\")),[lit(\"case\"),layouts(\"LAYOUTLIST\"),label(\"patternWithAction\",sort(\"PatternWithAction\"))],{tag(Foldable())}),[appl(prod(lit(\"case\"),[\\char-class([range(99,99)]),\\char-class([range(97,97)]),\\char-class([range(115,115)]),\\char-class([range(101,101)])],{}),[char(99),char(97),char(115),char(101)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1657,1,\<56,8\>,\<56,9\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1657,1,\<56,8\>,\<56,9\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1657,1,\<56,8\>,\<56,9\>)],appl(prod(label(\"Replacing\",sort(\"PatternWithAction\")),[label(\"pattern\",sort(\"Pattern\")),layouts(\"LAYOUTLIST\"),lit(\"=\\\>\"),layouts(\"LAYOUTLIST\"),label(\"replacement\",sort(\"Replacement\"))],{}),[appl(prod(label(\"CallOrTree\",sort(\"Pattern\")),[label(\"expression\",sort(\"Pattern\")),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"arguments\",\\iter-star-seps(sort(\"Pattern\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\")\")],{}),[appl(prod(label(\"QualifiedName\",sort(\"Pattern\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(97),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(112),char(112)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1659,2,\<56,10\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,3,\<56,9\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,3,\<56,9\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,3,\<56,9\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,3,\<56,9\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,3,\<56,9\>,\<56,12\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1661,0,\<56,12\>,\<56,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1661,0,\<56,12\>,\<56,12\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,0,\<56,13\>,\<56,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,0,\<56,13\>,\<56,13\>)],appl(regular(\\iter-star-seps(sort(\"Pattern\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"QualifiedName\",sort(\"Pattern\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(101),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(101)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1663,1,\<56,14\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,2,\<56,13\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,2,\<56,13\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,2,\<56,13\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,2,\<56,13\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,2,\<56,13\>,\<56,15\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1664,0,\<56,15\>,\<56,15\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1664,0,\<56,15\>,\<56,15\>)],appl(prod(lit(\",\"),[\\char-class([range(44,44)])],{}),[char(44)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1665,1,\<56,16\>,\<56,17\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1665,1,\<56,16\>,\<56,17\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1665,1,\<56,16\>,\<56,17\>)],appl(prod(label(\"QualifiedName\",sort(\"Pattern\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(97),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(114),char(103)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1667,2,\<56,18\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1666,3,\<56,17\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1666,3,\<56,17\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1666,3,\<56,17\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1666,3,\<56,17\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1666,3,\<56,17\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1662,7,\<56,13\>,\<56,20\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1669,0,\<56,20\>,\<56,20\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1669,0,\<56,20\>,\<56,20\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,12,\<56,9\>,\<56,21\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1670,1,\<56,21\>,\<56,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1670,1,\<56,21\>,\<56,22\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1670,1,\<56,21\>,\<56,22\>)],appl(prod(lit(\"=\\\>\"),[\\char-class([range(61,61)]),\\char-class([range(62,62)])],{}),[char(61),char(62)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1673,1,\<56,24\>,\<56,25\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1673,1,\<56,24\>,\<56,25\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1673,1,\<56,24\>,\<56,25\>)],appl(prod(label(\"Unconditional\",sort(\"Replacement\")),[label(\"replacementExpression\",sort(\"Expression\"))],{}),[appl(prod(label(\"CallOrTree\",sort(\"Expression\")),[label(\"expression\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"arguments\",\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\")\")],{}),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(97),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(112),char(112)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1675,2,\<56,26\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,3,\<56,25\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,3,\<56,25\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,3,\<56,25\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,3,\<56,25\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,3,\<56,25\>,\<56,28\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1677,0,\<56,28\>,\<56,28\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1677,0,\<56,28\>,\<56,28\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,0,\<56,29\>,\<56,29\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,0,\<56,29\>,\<56,29\>)],appl(regular(\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(101),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(101)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1679,1,\<56,30\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,2,\<56,29\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,2,\<56,29\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,2,\<56,29\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,2,\<56,29\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,2,\<56,29\>,\<56,31\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1680,0,\<56,31\>,\<56,31\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1680,0,\<56,31\>,\<56,31\>)],appl(prod(lit(\",\"),[\\char-class([range(44,44)])],{}),[char(44)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1681,1,\<56,32\>,\<56,33\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1681,1,\<56,32\>,\<56,33\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1681,1,\<56,32\>,\<56,33\>)],appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(114),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(101),char(112),char(108),char(97),char(99),char(101),char(109),char(101),char(110),char(116)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1683,10,\<56,34\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1682,11,\<56,33\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1682,11,\<56,33\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1682,11,\<56,33\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1682,11,\<56,33\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1682,11,\<56,33\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1678,15,\<56,29\>,\<56,44\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1693,0,\<56,44\>,\<56,44\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1693,0,\<56,44\>,\<56,44\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,20,\<56,25\>,\<56,45\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1674,20,\<56,25\>,\<56,45\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1658,36,\<56,9\>,\<56,45\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1653,41,\<56,4\>,\<56,45\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(10)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1694,1,\<56,45\>,\<57,0\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1695,1,\<57,0\>,\<57,1\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1696,1,\<57,1\>,\<57,2\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1697,1,\<57,2\>,\<57,3\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1698,1,\<57,3\>,\<57,4\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1694,5,\<56,45\>,\<57,4\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1694,5,\<56,45\>,\<57,4\>)],appl(prod(label(\"PatternWithAction\",sort(\"Case\")),[lit(\"case\"),layouts(\"LAYOUTLIST\"),label(\"patternWithAction\",sort(\"PatternWithAction\"))],{tag(Foldable())}),[appl(prod(lit(\"case\"),[\\char-class([range(99,99)]),\\char-class([range(97,97)]),\\char-class([range(115,115)]),\\char-class([range(101,101)])],{}),[char(99),char(97),char(115),char(101)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1703,1,\<57,8\>,\<57,9\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1703,1,\<57,8\>,\<57,9\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1703,1,\<57,8\>,\<57,9\>)],appl(prod(label(\"Replacing\",sort(\"PatternWithAction\")),[label(\"pattern\",sort(\"Pattern\")),layouts(\"LAYOUTLIST\"),lit(\"=\\\>\"),layouts(\"LAYOUTLIST\"),label(\"replacement\",sort(\"Replacement\"))],{}),[appl(prod(label(\"CallOrTree\",sort(\"Pattern\")),[label(\"expression\",sort(\"Pattern\")),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"arguments\",\\iter-star-seps(sort(\"Pattern\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\")\")],{}),[appl(prod(label(\"QualifiedName\",sort(\"Pattern\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(118),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(97),char(114)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1705,2,\<57,10\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,3,\<57,9\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,3,\<57,9\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,3,\<57,9\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,3,\<57,9\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,3,\<57,9\>,\<57,12\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1707,0,\<57,12\>,\<57,12\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1707,0,\<57,12\>,\<57,12\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,0,\<57,13\>,\<57,13\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,0,\<57,13\>,\<57,13\>)],appl(regular(\\iter-star-seps(sort(\"Pattern\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"QualifiedName\",sort(\"Pattern\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(97),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(114),char(103)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1709,2,\<57,14\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1708,3,\<57,13\>,\<57,16\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1711,0,\<57,16\>,\<57,16\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1711,0,\<57,16\>,\<57,16\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,8,\<57,9\>,\<57,17\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1712,1,\<57,17\>,\<57,18\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1712,1,\<57,17\>,\<57,18\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1712,1,\<57,17\>,\<57,18\>)],appl(prod(lit(\"=\\\>\"),[\\char-class([range(61,61)]),\\char-class([range(62,62)])],{}),[char(61),char(62)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1715,1,\<57,20\>,\<57,21\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1715,1,\<57,20\>,\<57,21\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1715,1,\<57,20\>,\<57,21\>)],appl(prod(label(\"Unconditional\",sort(\"Replacement\")),[label(\"replacementExpression\",sort(\"Expression\"))],{}),[appl(prod(label(\"CallOrTree\",sort(\"Expression\")),[label(\"expression\",sort(\"Expression\")),layouts(\"LAYOUTLIST\"),lit(\"(\"),layouts(\"LAYOUTLIST\"),label(\"arguments\",\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),layouts(\"LAYOUTLIST\"),lit(\")\")],{}),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(118),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(97),char(114)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1717,2,\<57,22\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,3,\<57,21\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,3,\<57,21\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,3,\<57,21\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,3,\<57,21\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,3,\<57,21\>,\<57,24\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1719,0,\<57,24\>,\<57,24\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1719,0,\<57,24\>,\<57,24\>)],appl(prod(lit(\"(\"),[\\char-class([range(40,40)])],{}),[char(40)]),appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,0,\<57,25\>,\<57,25\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,0,\<57,25\>,\<57,25\>)],appl(regular(\\iter-star-seps(sort(\"Expression\"),[layouts(\"LAYOUTLIST\"),lit(\",\"),layouts(\"LAYOUTLIST\")])),[appl(prod(label(\"QualifiedName\",sort(\"Expression\")),[label(\"qualifiedName\",sort(\"QualifiedName\"))],{}),[appl(prod(label(\"Default\",sort(\"QualifiedName\")),[conditional(label(\"names\",\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),{\\not-follow(lit(\"::\"))})],{}),[appl(regular(\\iter-seps(lex(\"Name\"),[layouts(\"LAYOUTLIST\"),lit(\"::\"),layouts(\"LAYOUTLIST\")])),[appl(prod(lex(\"Name\"),[conditional(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})]),{delete(keywords(\"RascalKeywords\"))})],{}),[appl(regular(seq([conditional(\\char-class([range(65,90),range(95,95),range(97,122)]),{\\not-precede(\\char-class([range(65,90),range(95,95),range(97,122)]))}),conditional(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)])),{\\not-follow(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))})])),[char(114),appl(regular(\\iter-star(\\char-class([range(48,57),range(65,90),range(95,95),range(97,122)]))),[char(101),char(112),char(108),char(97),char(99),char(101),char(109),char(101),char(110),char(116)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1721,10,\<57,26\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1720,11,\<57,25\>,\<57,36\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1731,0,\<57,36\>,\<57,36\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1731,0,\<57,36\>,\<57,36\>)],appl(prod(lit(\")\"),[\\char-class([range(41,41)])],{}),[char(41)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,16,\<57,21\>,\<57,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1716,16,\<57,21\>,\<57,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1704,28,\<57,9\>,\<57,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1699,33,\<57,4\>,\<57,37\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1653,79,\<56,4\>,\<57,37\>)],appl(prod(layouts(\"LAYOUTLIST\"),[conditional(\\iter-star(lex(\"LAYOUT\")),{\\not-follow(\\char-class([range(9,10),range(13,13),range(32,32)])),\\not-follow(lit(\"//\")),\\not-follow(lit(\"/*\"))})],{}),[appl(regular(\\iter-star(lex(\"LAYOUT\"))),[appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(10)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1732,1,\<57,37\>,\<58,0\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1733,1,\<58,0\>,\<58,1\>)],appl(prod(lex(\"LAYOUT\"),[\\char-class([range(9,10),range(13,13),range(32,32)])],{}),[char(32)])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1734,1,\<58,1\>,\<58,2\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1732,3,\<57,37\>,\<58,2\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1732,3,\<57,37\>,\<58,2\>)],appl(prod(lit(\"}\"),[\\char-class([range(125,125)])],{}),[char(125)])])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1637,99,\<55,31\>,\<58,3\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1637,99,\<55,31\>,\<58,3\>)]])[@loc=|project://Hossein/src/ExpAbstractSyntax.rsc|(1615,121,\<55,9\>,\<58,3\>)]})"
delete close flag offensive retag edit

Comments

1

It's getting confused between ?: and ?, which is a check for definedness. We will have to look at it...

MarkHills (Jan 12)edit

1 Answer

Sort by ยป oldest newest most voted
0

answered Jan 16

JurgenVinju gravatar image JurgenVinju flag of Netherlands
554 6 20
http://jurgen.vinju.org/

We forgot a priority relation, like Mark said. You can work around by adding (brackets).

link delete flag offensive edit

Comments

At least, i hope...

JurgenVinju (Jan 16)edit

OK, where about do you propose should I place the parentheses?

Hossein (Jan 16)edit

No, I was wrong. I have to try this code myself and diagnose the ambiguity. You might try removing the trailing ; just after the visit for now. Just a hunch. The reasoning is that it can't be the ? thing, because I don't see where the : would have to go then.

JurgenVinju (Jan 30)edit

Your answer

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[hide preview]
Also see the Rascal Tutor.

Question tools

Follow

subscribe to rss feed

Stats

Asked: Jan 05

Seen: 27 times

Last updated: Jan 16