Update parser.

parent 3891856c
......@@ -68,56 +68,56 @@ var g = &grammar{
rules: []*rule{
{
name: "Verifpal",
pos: position{line: 67, col: 1, offset: 1156},
pos: position{line: 69, col: 1, offset: 1184},
expr: &actionExpr{
pos: position{line: 68, col: 2, offset: 1169},
pos: position{line: 70, col: 2, offset: 1197},
run: (*parser).callonVerifpal1,
expr: &seqExpr{
pos: position{line: 68, col: 2, offset: 1169},
pos: position{line: 70, col: 2, offset: 1197},
exprs: []interface{}{
&zeroOrMoreExpr{
pos: position{line: 68, col: 2, offset: 1169},
pos: position{line: 70, col: 2, offset: 1197},
expr: &ruleRefExpr{
pos: position{line: 68, col: 2, offset: 1169},
pos: position{line: 70, col: 2, offset: 1197},
name: "Comment",
},
},
&labeledExpr{
pos: position{line: 69, col: 2, offset: 1179},
pos: position{line: 71, col: 2, offset: 1207},
label: "Attacker",
expr: &ruleRefExpr{
pos: position{line: 69, col: 11, offset: 1188},
pos: position{line: 71, col: 11, offset: 1216},
name: "Attacker",
},
},
&labeledExpr{
pos: position{line: 70, col: 2, offset: 1198},
pos: position{line: 72, col: 2, offset: 1226},
label: "Blocks",
expr: &oneOrMoreExpr{
pos: position{line: 70, col: 10, offset: 1206},
pos: position{line: 72, col: 10, offset: 1234},
expr: &ruleRefExpr{
pos: position{line: 70, col: 10, offset: 1206},
pos: position{line: 72, col: 10, offset: 1234},
name: "Block",
},
},
},
&labeledExpr{
pos: position{line: 71, col: 2, offset: 1215},
pos: position{line: 73, col: 2, offset: 1243},
label: "Queries",
expr: &ruleRefExpr{
pos: position{line: 71, col: 10, offset: 1223},
pos: position{line: 73, col: 10, offset: 1251},
name: "Queries",
},
},
&zeroOrMoreExpr{
pos: position{line: 72, col: 2, offset: 1232},
pos: position{line: 74, col: 2, offset: 1260},
expr: &ruleRefExpr{
pos: position{line: 72, col: 2, offset: 1232},
pos: position{line: 74, col: 2, offset: 1260},
name: "Comment",
},
},
&ruleRefExpr{
pos: position{line: 73, col: 2, offset: 1242},
pos: position{line: 75, col: 2, offset: 1270},
name: "EOF",
},
},
......@@ -126,50 +126,50 @@ var g = &grammar{
},
{
name: "Attacker",
pos: position{line: 87, col: 1, offset: 1549},
pos: position{line: 89, col: 1, offset: 1577},
expr: &actionExpr{
pos: position{line: 88, col: 2, offset: 1562},
pos: position{line: 90, col: 2, offset: 1590},
run: (*parser).callonAttacker1,
expr: &seqExpr{
pos: position{line: 88, col: 2, offset: 1562},
pos: position{line: 90, col: 2, offset: 1590},
exprs: []interface{}{
&litMatcher{
pos: position{line: 88, col: 2, offset: 1562},
pos: position{line: 90, col: 2, offset: 1590},
val: "attacker",
ignoreCase: false,
},
&ruleRefExpr{
pos: position{line: 88, col: 13, offset: 1573},
pos: position{line: 90, col: 13, offset: 1601},
name: "_",
},
&litMatcher{
pos: position{line: 88, col: 15, offset: 1575},
pos: position{line: 90, col: 15, offset: 1603},
val: "[",
ignoreCase: false,
},
&ruleRefExpr{
pos: position{line: 88, col: 19, offset: 1579},
pos: position{line: 90, col: 19, offset: 1607},
name: "_",
},
&labeledExpr{
pos: position{line: 89, col: 2, offset: 1582},
pos: position{line: 91, col: 2, offset: 1610},
label: "Type",
expr: &ruleRefExpr{
pos: position{line: 89, col: 7, offset: 1587},
pos: position{line: 91, col: 7, offset: 1615},
name: "AttackerType",
},
},
&ruleRefExpr{
pos: position{line: 89, col: 20, offset: 1600},
pos: position{line: 91, col: 20, offset: 1628},
name: "_",
},
&litMatcher{
pos: position{line: 90, col: 2, offset: 1603},
pos: position{line: 92, col: 2, offset: 1631},
val: "]",
ignoreCase: false,
},
&ruleRefExpr{
pos: position{line: 90, col: 6, offset: 1607},
pos: position{line: 92, col: 6, offset: 1635},
name: "_",
},
},
......@@ -178,20 +178,20 @@ var g = &grammar{
},
{
name: "AttackerType",
pos: position{line: 94, col: 1, offset: 1634},
pos: position{line: 96, col: 1, offset: 1662},
expr: &actionExpr{
pos: position{line: 95, col: 2, offset: 1651},
pos: position{line: 97, col: 2, offset: 1679},
run: (*parser).callonAttackerType1,
expr: &choiceExpr{
pos: position{line: 95, col: 3, offset: 1652},
pos: position{line: 97, col: 3, offset: 1680},
alternatives: []interface{}{
&litMatcher{
pos: position{line: 95, col: 3, offset: 1652},
pos: position{line: 97, col: 3, offset: 1680},
val: "active",
ignoreCase: false,
},
&litMatcher{
pos: position{line: 95, col: 12, offset: 1661},
pos: position{line: 97, col: 12, offset: 1689},
val: "passive",
ignoreCase: false,
},
......@@ -201,45 +201,45 @@ var g = &grammar{
},
{
name: "Block",
pos: position{line: 99, col: 1, offset: 1707},
pos: position{line: 101, col: 1, offset: 1735},
expr: &actionExpr{
pos: position{line: 100, col: 2, offset: 1717},
pos: position{line: 102, col: 2, offset: 1745},
run: (*parser).callonBlock1,
expr: &seqExpr{
pos: position{line: 100, col: 2, offset: 1717},
pos: position{line: 102, col: 2, offset: 1745},
exprs: []interface{}{
&zeroOrMoreExpr{
pos: position{line: 100, col: 2, offset: 1717},
pos: position{line: 102, col: 2, offset: 1745},
expr: &ruleRefExpr{
pos: position{line: 100, col: 2, offset: 1717},
pos: position{line: 102, col: 2, offset: 1745},
name: "Comment",
},
},
&labeledExpr{
pos: position{line: 101, col: 2, offset: 1727},
pos: position{line: 103, col: 2, offset: 1755},
label: "Block",
expr: &choiceExpr{
pos: position{line: 101, col: 9, offset: 1734},
pos: position{line: 103, col: 9, offset: 1762},
alternatives: []interface{}{
&ruleRefExpr{
pos: position{line: 101, col: 9, offset: 1734},
pos: position{line: 103, col: 9, offset: 1762},
name: "Principal",
},
&ruleRefExpr{
pos: position{line: 101, col: 19, offset: 1744},
pos: position{line: 103, col: 19, offset: 1772},
name: "Message",
},
},
},
},
&ruleRefExpr{
pos: position{line: 101, col: 28, offset: 1753},
pos: position{line: 103, col: 28, offset: 1781},
name: "_",
},
&zeroOrMoreExpr{
pos: position{line: 102, col: 2, offset: 1756},
pos: position{line: 104, col: 2, offset: 1784},
expr: &ruleRefExpr{
pos: position{line: 102, col: 2, offset: 1756},
pos: position{line: 104, col: 2, offset: 1784},
name: "Comment",
},
},
......@@ -249,61 +249,61 @@ var g = &grammar{
},
{
name: "Principal",
pos: position{line: 106, col: 1, offset: 1791},
pos: position{line: 108, col: 1, offset: 1819},
expr: &actionExpr{
pos: position{line: 107, col: 2, offset: 1805},
pos: position{line: 109, col: 2, offset: 1833},
run: (*parser).callonPrincipal1,
expr: &seqExpr{
pos: position{line: 107, col: 2, offset: 1805},
pos: position{line: 109, col: 2, offset: 1833},
exprs: []interface{}{
&litMatcher{
pos: position{line: 107, col: 2, offset: 1805},
pos: position{line: 109, col: 2, offset: 1833},
val: "principal",
ignoreCase: false,
},
&ruleRefExpr{
pos: position{line: 107, col: 14, offset: 1817},
pos: position{line: 109, col: 14, offset: 1845},
name: "_",
},
&labeledExpr{
pos: position{line: 107, col: 16, offset: 1819},
pos: position{line: 109, col: 16, offset: 1847},
label: "Name",
expr: &ruleRefExpr{
pos: position{line: 107, col: 21, offset: 1824},
pos: position{line: 109, col: 21, offset: 1852},
name: "PrincipalName",
},
},
&ruleRefExpr{
pos: position{line: 107, col: 35, offset: 1838},
pos: position{line: 109, col: 35, offset: 1866},
name: "_",
},
&litMatcher{
pos: position{line: 107, col: 37, offset: 1840},
pos: position{line: 109, col: 37, offset: 1868},
val: "[",
ignoreCase: false,
},
&ruleRefExpr{
pos: position{line: 107, col: 41, offset: 1844},
pos: position{line: 109, col: 41, offset: 1872},
name: "_",
},
&labeledExpr{
pos: position{line: 108, col: 2, offset: 1847},
pos: position{line: 110, col: 2, offset: 1875},
label: "Expressions",
expr: &zeroOrMoreExpr{
pos: position{line: 108, col: 15, offset: 1860},
pos: position{line: 110, col: 15, offset: 1888},
expr: &ruleRefExpr{
pos: position{line: 108, col: 15, offset: 1860},
pos: position{line: 110, col: 15, offset: 1888},
name: "Expression",
},
},
},
&litMatcher{
pos: position{line: 109, col: 2, offset: 1874},
pos: position{line: 111, col: 2, offset: 1902},
val: "]",
ignoreCase: false,
},
&ruleRefExpr{
pos: position{line: 109, col: 6, offset: 1878},
pos: position{line: 111, col: 6, offset: 1906},
name: "_",
},
},
......@@ -312,17 +312,17 @@ var g = &grammar{
},
{
name: "PrincipalName",
pos: position{line: 132, col: 1, offset: 2410},
pos: position{line: 134, col: 1, offset: 2438},
expr: &actionExpr{
pos: position{line: 133, col: 2, offset: 2428},
pos: position{line: 135, col: 2, offset: 2456},
run: (*parser).callonPrincipalName1,
expr: &labeledExpr{
pos: position{line: 133, col: 2, offset: 2428},
pos: position{line: 135, col: 2, offset: 2456},
label: "Name",
expr: &oneOrMoreExpr{
pos: position{line: 133, col: 7, offset: 2433},
pos: position{line: 135, col: 7, offset: 2461},
expr: &charClassMatcher{
pos: position{line: 133, col: 7, offset: 2433},
pos: position{line: 135, col: 7, offset: 2461},
val: "[a-zA-Z0-9_]",
chars: []rune{'_'},
ranges: []rune{'a', 'z', 'A', 'Z', '0', '9'},
......@@ -335,20 +335,20 @@ var g = &grammar{
},
{
name: "Qualifier",
pos: position{line: 140, col: 1, offset: 2598},
pos: position{line: 142, col: 1, offset: 2626},
expr: &actionExpr{
pos: position{line: 141, col: 2, offset: 2612},
pos: position{line: 143, col: 2, offset: 2640},
run: (*parser).callonQualifier1,
expr: &choiceExpr{
pos: position{line: 141, col: 3, offset: 2613},
pos: position{line: 143, col: 3, offset: 2641},
alternatives: []interface{}{
&litMatcher{
pos: position{line: 141, col: 3, offset: 2613},
pos: position{line: 143, col: 3, offset: 2641},
val: "private",
ignoreCase: false,
},
&litMatcher{
pos: position{line: 141, col: 13, offset: 2623},
pos: position{line: 143, col: 13, offset: 2651},
val: "public",
ignoreCase: false,
},
......@@ -358,60 +358,60 @@ var g = &grammar{
},
{
name: "Message",
pos: position{line: 145, col: 1, offset: 2668},
pos: position{line: 147, col: 1, offset: 2696},
expr: &actionExpr{
pos: position{line: 146, col: 2, offset: 2680},
pos: position{line: 148, col: 2, offset: 2708},
run: (*parser).callonMessage1,
expr: &seqExpr{
pos: position{line: 146, col: 2, offset: 2680},
pos: position{line: 148, col: 2, offset: 2708},
exprs: []interface{}{
&labeledExpr{
pos: position{line: 146, col: 2, offset: 2680},
pos: position{line: 148, col: 2, offset: 2708},
label: "Sender",
expr: &ruleRefExpr{
pos: position{line: 146, col: 9, offset: 2687},
pos: position{line: 148, col: 9, offset: 2715},
name: "PrincipalName",
},
},
&ruleRefExpr{
pos: position{line: 146, col: 23, offset: 2701},
pos: position{line: 148, col: 23, offset: 2729},
name: "_",
},
&litMatcher{
pos: position{line: 147, col: 2, offset: 2704},
pos: position{line: 149, col: 2, offset: 2732},
val: "->",
ignoreCase: false,
},
&ruleRefExpr{
pos: position{line: 147, col: 7, offset: 2709},
pos: position{line: 149, col: 7, offset: 2737},
name: "_",
},
&labeledExpr{
pos: position{line: 148, col: 2, offset: 2712},
pos: position{line: 150, col: 2, offset: 2740},
label: "Recipient",
expr: &ruleRefExpr{
pos: position{line: 148, col: 12, offset: 2722},
pos: position{line: 150, col: 12, offset: 2750},
name: "PrincipalName",
},
},
&ruleRefExpr{
pos: position{line: 148, col: 26, offset: 2736},
pos: position{line: 150, col: 26, offset: 2764},
name: "_",
},
&litMatcher{
pos: position{line: 149, col: 2, offset: 2739},
pos: position{line: 151, col: 2, offset: 2767},
val: ":",
ignoreCase: false,
},
&ruleRefExpr{
pos: position{line: 149, col: 6, offset: 2743},
pos: position{line: 151, col: 6, offset: 2771},
name: "_",
},
&labeledExpr{
pos: position{line: 150, col: 2, offset: 2746},
pos: position{line: 152, col: 2, offset: 2774},
label: "MessageConstants",
expr: &ruleRefExpr{
pos: position{line: 150, col: 19, offset: 2763},
pos: position{line: 152, col: 19, offset: 2791},
name: "MessageConstants",
},
},
......@@ -421,24 +421,24 @@ var g = &grammar{
},
{
name: "MessageConstants",
pos: position{line: 174, col: 1, offset: 3392},
pos: position{line: 176, col: 1, offset: 3420},
expr: &actionExpr{
pos: position{line: 175, col: 2, offset: 3413},
pos: position{line: 177, col: 2, offset: 3441},
run: (*parser).callonMessageConstants1,
expr: &labeledExpr{
pos: position{line: 175, col: 2, offset: 3413},
pos: position{line: 177, col: 2, offset: 3441},
label: "MessageConstants",
expr: &oneOrMoreExpr{
pos: position{line: 175, col: 19, offset: 3430},
pos: position{line: 177, col: 19, offset: 3458},
expr: &choiceExpr{
pos: position{line: 175, col: 20, offset: 3431},
pos: position{line: 177, col: 20, offset: 3459},
alternatives: []interface{}{
&ruleRefExpr{
pos: position{line: 175, col: 20, offset: 3431},
pos: position{line: 177, col: 20, offset: 3459},
name: "GuardedConstant",
},
&ruleRefExpr{
pos: position{line: 175, col: 36, offset: 3447},
pos: position{line: 177, col: 36, offset: 3475},
name: "Constant",
},
},
......@@ -449,49 +449,49 @@ var g = &grammar{
},
{
name: "Expression",
pos: position{line: 194, col: 1, offset: 3866},
pos: position{line: 196, col: 1, offset: 3894},
expr: &actionExpr{
pos: position{line: 195, col: 2, offset: 3881},
pos: position{line: 197, col: 2, offset: 3909},
run: (*parser).callonExpression1,
expr: &seqExpr{
pos: position{line: 195, col: 2, offset: 3881},
pos: position{line: 197, col: 2, offset: 3909},
exprs: []interface{}{
&zeroOrMoreExpr{
pos: position{line: 195, col: 2, offset: 3881},
pos: position{line: 197, col: 2, offset: 3909},
expr: &ruleRefExpr{
pos: position{line: 195, col: 2, offset: 3881},
pos: position{line: 197, col: 2, offset: 3909},
name: "Comment",
},
},
&labeledExpr{
pos: position{line: 196, col: 2, offset: 3891},
pos: position{line: 198, col: 2, offset: 3919},
label: "Expression",
expr: &choiceExpr{
pos: position{line: 196, col: 14, offset: 3903},
pos: position{line: 198, col: 14, offset: 3931},
alternatives: []interface{}{
&ruleRefExpr{
pos: position{line: 196, col: 14, offset: 3903},
pos: position{line: 198, col: 14, offset: 3931},
name: "Assignment",
},
&ruleRefExpr{
pos: position{line: 196, col: 25, offset: 3914},
pos: position{line: 198, col: 25, offset: 3942},
name: "Knows",
},
&ruleRefExpr{
pos: position{line: 196, col: 31, offset: 3920},
pos: position{line: 198, col: 31, offset: 3948},
name: "Generates",
},
},
},
},
&ruleRefExpr{
pos: position{line: 196, col: 42, offset: 3931},
pos: position{line: 198, col: 42, offset: 3959},
name: "_",
},
&zeroOrMoreExpr{
pos: position{line: 197, col: 2, offset: 3934},
pos: position{line: 199, col: 2, offset: 3962},
expr: &ruleRefExpr{
pos: position{line: 197, col: 2, offset: 3934},
pos: position{line: 199, col: 2, offset: 3962},
name: "Comment",
},
},
......@@ -501,39 +501,39 @@ var g = &grammar{
},
{
name: "Knows",
pos: position{line: 201, col: 1, offset: 3974},
pos: position{line: 203, col: 1, offset: 4002},
expr: &actionExpr{
pos: position{line: 202, col: 2, offset: 3984},
pos: position{line: 204, col: 2, offset: 4012},
run: (*parser).callonKnows1,
expr: &seqExpr{
pos: position{line: 202, col: 2, offset: 3984},
pos: position{line: 204, col: 2, offset: 4012},
exprs: []interface{}{
&litMatcher{
pos: position{line: 202, col: 2, offset: 3984},
pos: position{line: 204, col: 2, offset: 4012},
val: "knows",
ignoreCase: false,
},
&ruleRefExpr{
pos: position{line: 202, col: 10, offset: 3992},
pos: position{line: 204, col: 10, offset: 4020},
name: "_",
},
&labeledExpr{
pos: position{line: 203, col: 2, offset: 3996},
pos: position{line: 205, col: 2, offset: 4024},
label: "Qualifier",
expr: &ruleRefExpr{
pos: position{line: 203, col: 12, offset: 4006},
pos: position{line: 205, col: 12, offset: 4034},
name: "Qualifier",
},
},
&ruleRefExpr{
pos: position{line: 203, col: 22, offset: 4016},
pos: position{line: 205, col: 22, offset: 4044},
name: "_",
},
&labeledExpr{
pos: position{line: 204, col: 2, offset: 4020},
pos: position{line: 206, col: 2, offset: 4048},
label: "Constants",
expr: &ruleRefExpr{
pos: position{line: 204, col: 12, offset: 4030},
pos: position{line: 206, col: 12, offset: 4058},
name: "Constants",
},
},
......@@ -543,27 +543,27 @@ var g = &grammar{
},
{
name: "Generates",
pos: position{line: 212, col: 1, offset: 4166},
pos: position{line: 214, col: 1, offset: 4194},
expr: &actionExpr{
pos: position{line: 213, col: 2, offset: 4180},
pos: position{line: 215, col: 2, offset: 4208},
run: (*parser).callonGenerates1,
expr: &seqExpr{
pos: position{line: 213, col: 2, offset: 4180},
pos: position{line: 215, col: 2, offset: 4208},
exprs: []interface{}{
&litMatcher{
pos: position{line: 213, col: 2, offset: 4180},
pos: position{line: 215, col: 2, offset: 4208},
val: "generates",
ignoreCase: false,