ref: 06daa31cb089e073a869cc9f105318178c64f99d
parent: 5031195edcfd6b0b5ef30d7830199c27801d5ba3
author: Gregory Pakosz <gregory.pakosz@gmail.com>
date: Wed Mar 28 19:00:00 CDT 2012
imported peg-0.1.8
--- a/README.md
+++ b/README.md
@@ -26,6 +26,8 @@
## Version history
+* **0.1.8** ([zip](peg/zipball/0.1.8), [tar.gz](peg/tarball/0.1.8)) — 2012-03-29
+Allow nested, matched braces within actions.
* **0.1.7** ([zip](peg/zipball/0.1.7), [tar.gz](peg/tarball/0.1.7)) — 2011-11-25
Fix matching of 8-bit chars to allow utf-8 sequences in matching expressions (thanks to Grégory Pakosz).
* **0.1.6** ([zip](peg/zipball/0.1.6), [tar.gz](peg/tarball/0.1.6)) — 2011-11-24
--- a/leg.c
+++ b/leg.c
@@ -1,4 +1,4 @@
-/* A recursive-descent parser generated by peg 0.1.4 */
+/* A recursive-descent parser generated by peg 0.1.2 */
#include <stdio.h>
#include <stdlib.h>
@@ -198,7 +198,7 @@
yyleng= 0;
else
{
- while (yytextlen < (yyleng + 1))
+ while (yytextlen < (yyleng - 1))
{
yytextlen *= 2;
yytext= realloc(yytext, yytextlen);
@@ -449,15 +449,12 @@
yyprintf((stderr, "%s\n", "braces"));
{ int yypos14= yypos, yythunkpos14= yythunkpos; if (!yymatchChar('{')) goto l15;
l16:;
- { int yypos17= yypos, yythunkpos17= yythunkpos;
- { int yypos18= yypos, yythunkpos18= yythunkpos; if (!yymatchChar('}')) goto l18; goto l17;
- l18:; yypos= yypos18; yythunkpos= yythunkpos18;
- } if (!yymatchDot()) goto l17; goto l16;
+ { int yypos17= yypos, yythunkpos17= yythunkpos; if (!yy_braces()) goto l17; goto l16;
l17:; yypos= yypos17; yythunkpos= yythunkpos17;
} if (!yymatchChar('}')) goto l15; goto l14;
l15:; yypos= yypos14; yythunkpos= yythunkpos14;
- { int yypos19= yypos, yythunkpos19= yythunkpos; if (!yymatchChar('}')) goto l19; goto l13;
- l19:; yypos= yypos19; yythunkpos= yythunkpos19;
+ { int yypos18= yypos, yythunkpos18= yythunkpos; if (!yymatchChar('}')) goto l18; goto l13;
+ l18:; yypos= yypos18; yythunkpos= yythunkpos18;
} if (!yymatchDot()) goto l13;
}
l14:;
@@ -470,13 +467,13 @@
YY_RULE(int) yy_range()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
yyprintf((stderr, "%s\n", "range"));
- { int yypos21= yypos, yythunkpos21= yythunkpos; if (!yy_char()) goto l22; if (!yymatchChar('-')) goto l22; if (!yy_char()) goto l22; goto l21;
- l22:; yypos= yypos21; yythunkpos= yythunkpos21; if (!yy_char()) goto l20;
+ { int yypos20= yypos, yythunkpos20= yythunkpos; if (!yy_char()) goto l21; if (!yymatchChar('-')) goto l21; if (!yy_char()) goto l21; goto l20;
+ l21:; yypos= yypos20; yythunkpos= yythunkpos20; if (!yy_char()) goto l19;
}
- l21:;
+ l20:;
yyprintf((stderr, " ok %s @ %s\n", "range", yybuf+yypos));
return 1;
- l20:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l19:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "range", yybuf+yypos));
return 0;
}
@@ -483,65 +480,65 @@
YY_RULE(int) yy_char()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
yyprintf((stderr, "%s\n", "char"));
- { int yypos24= yypos, yythunkpos24= yythunkpos; if (!yymatchChar('\\')) goto l25; if (!yymatchClass((unsigned char *)"\000\000\000\000\204\040\000\000\000\000\000\070\146\100\124\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l25; goto l24;
- l25:; yypos= yypos24; yythunkpos= yythunkpos24; if (!yymatchChar('\\')) goto l26; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l26; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l26; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l26; goto l24;
- l26:; yypos= yypos24; yythunkpos= yythunkpos24; if (!yymatchChar('\\')) goto l27; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l27;
- { int yypos28= yypos, yythunkpos28= yythunkpos; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l28; goto l29;
- l28:; yypos= yypos28; yythunkpos= yythunkpos28;
+ { int yypos23= yypos, yythunkpos23= yythunkpos; if (!yymatchChar('\\')) goto l24; if (!yymatchClass((unsigned char *)"\000\000\000\000\204\040\000\000\000\000\000\070\146\100\124\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l24; goto l23;
+ l24:; yypos= yypos23; yythunkpos= yythunkpos23; if (!yymatchChar('\\')) goto l25; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\017\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l25; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l25; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l25; goto l23;
+ l25:; yypos= yypos23; yythunkpos= yythunkpos23; if (!yymatchChar('\\')) goto l26; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l26;
+ { int yypos27= yypos, yythunkpos27= yythunkpos; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\000\377\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l27; goto l28;
+ l27:; yypos= yypos27; yythunkpos= yythunkpos27;
}
- l29:; goto l24;
- l27:; yypos= yypos24; yythunkpos= yythunkpos24;
- { int yypos30= yypos, yythunkpos30= yythunkpos; if (!yymatchChar('\\')) goto l30; goto l23;
- l30:; yypos= yypos30; yythunkpos= yythunkpos30;
- } if (!yymatchDot()) goto l23;
+ l28:; goto l23;
+ l26:; yypos= yypos23; yythunkpos= yythunkpos23;
+ { int yypos29= yypos, yythunkpos29= yythunkpos; if (!yymatchChar('\\')) goto l29; goto l22;
+ l29:; yypos= yypos29; yythunkpos= yythunkpos29;
+ } if (!yymatchDot()) goto l22;
}
- l24:;
+ l23:;
yyprintf((stderr, " ok %s @ %s\n", "char", yybuf+yypos));
return 1;
- l23:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l22:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "char", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_END()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "END")); if (!yymatchChar('>')) goto l31; if (!yy__()) goto l31;
+ yyprintf((stderr, "%s\n", "END")); if (!yymatchChar('>')) goto l30; if (!yy__()) goto l30;
yyprintf((stderr, " ok %s @ %s\n", "END", yybuf+yypos));
return 1;
- l31:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l30:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "END", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_BEGIN()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "BEGIN")); if (!yymatchChar('<')) goto l32; if (!yy__()) goto l32;
+ yyprintf((stderr, "%s\n", "BEGIN")); if (!yymatchChar('<')) goto l31; if (!yy__()) goto l31;
yyprintf((stderr, " ok %s @ %s\n", "BEGIN", yybuf+yypos));
return 1;
- l32:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l31:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "BEGIN", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_DOT()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "DOT")); if (!yymatchChar('.')) goto l33; if (!yy__()) goto l33;
+ yyprintf((stderr, "%s\n", "DOT")); if (!yymatchChar('.')) goto l32; if (!yy__()) goto l32;
yyprintf((stderr, " ok %s @ %s\n", "DOT", yybuf+yypos));
return 1;
- l33:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l32:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "DOT", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_class()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "class")); if (!yymatchChar('[')) goto l34; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l34;
- l35:;
- { int yypos36= yypos, yythunkpos36= yythunkpos;
- { int yypos37= yypos, yythunkpos37= yythunkpos; if (!yymatchChar(']')) goto l37; goto l36;
- l37:; yypos= yypos37; yythunkpos= yythunkpos37;
- } if (!yy_range()) goto l36; goto l35;
+ yyprintf((stderr, "%s\n", "class")); if (!yymatchChar('[')) goto l33; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l33;
+ l34:;
+ { int yypos35= yypos, yythunkpos35= yythunkpos;
+ { int yypos36= yypos, yythunkpos36= yythunkpos; if (!yymatchChar(']')) goto l36; goto l35;
l36:; yypos= yypos36; yythunkpos= yythunkpos36;
- } yyText(yybegin, yyend); if (!(YY_END)) goto l34; if (!yymatchChar(']')) goto l34; if (!yy__()) goto l34;
+ } if (!yy_range()) goto l35; goto l34;
+ l35:; yypos= yypos35; yythunkpos= yythunkpos35;
+ } yyText(yybegin, yyend); if (!(YY_END)) goto l33; if (!yymatchChar(']')) goto l33; if (!yy__()) goto l33;
yyprintf((stderr, " ok %s @ %s\n", "class", yybuf+yypos));
return 1;
- l34:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l33:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "class", yybuf+yypos));
return 0;
}
@@ -548,81 +545,81 @@
YY_RULE(int) yy_literal()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
yyprintf((stderr, "%s\n", "literal"));
- { int yypos39= yypos, yythunkpos39= yythunkpos; if (!yymatchClass((unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l40; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l40;
- l41:;
- { int yypos42= yypos, yythunkpos42= yythunkpos;
- { int yypos43= yypos, yythunkpos43= yythunkpos; if (!yymatchClass((unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l43; goto l42;
- l43:; yypos= yypos43; yythunkpos= yythunkpos43;
- } if (!yy_char()) goto l42; goto l41;
+ { int yypos38= yypos, yythunkpos38= yythunkpos; if (!yymatchClass((unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l39; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l39;
+ l40:;
+ { int yypos41= yypos, yythunkpos41= yythunkpos;
+ { int yypos42= yypos, yythunkpos42= yythunkpos; if (!yymatchClass((unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l42; goto l41;
l42:; yypos= yypos42; yythunkpos= yythunkpos42;
- } yyText(yybegin, yyend); if (!(YY_END)) goto l40; if (!yymatchClass((unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l40; if (!yy__()) goto l40; goto l39;
- l40:; yypos= yypos39; yythunkpos= yythunkpos39; if (!yymatchClass((unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l38; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l38;
- l44:;
- { int yypos45= yypos, yythunkpos45= yythunkpos;
- { int yypos46= yypos, yythunkpos46= yythunkpos; if (!yymatchClass((unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l46; goto l45;
- l46:; yypos= yypos46; yythunkpos= yythunkpos46;
- } if (!yy_char()) goto l45; goto l44;
+ } if (!yy_char()) goto l41; goto l40;
+ l41:; yypos= yypos41; yythunkpos= yythunkpos41;
+ } yyText(yybegin, yyend); if (!(YY_END)) goto l39; if (!yymatchClass((unsigned char *)"\000\000\000\000\200\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l39; if (!yy__()) goto l39; goto l38;
+ l39:; yypos= yypos38; yythunkpos= yythunkpos38; if (!yymatchClass((unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l37; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l37;
+ l43:;
+ { int yypos44= yypos, yythunkpos44= yythunkpos;
+ { int yypos45= yypos, yythunkpos45= yythunkpos; if (!yymatchClass((unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l45; goto l44;
l45:; yypos= yypos45; yythunkpos= yythunkpos45;
- } yyText(yybegin, yyend); if (!(YY_END)) goto l38; if (!yymatchClass((unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l38; if (!yy__()) goto l38;
+ } if (!yy_char()) goto l44; goto l43;
+ l44:; yypos= yypos44; yythunkpos= yythunkpos44;
+ } yyText(yybegin, yyend); if (!(YY_END)) goto l37; if (!yymatchClass((unsigned char *)"\000\000\000\000\004\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l37; if (!yy__()) goto l37;
}
- l39:;
+ l38:;
yyprintf((stderr, " ok %s @ %s\n", "literal", yybuf+yypos));
return 1;
- l38:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l37:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "literal", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_CLOSE()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "CLOSE")); if (!yymatchChar(')')) goto l47; if (!yy__()) goto l47;
+ yyprintf((stderr, "%s\n", "CLOSE")); if (!yymatchChar(')')) goto l46; if (!yy__()) goto l46;
yyprintf((stderr, " ok %s @ %s\n", "CLOSE", yybuf+yypos));
return 1;
- l47:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l46:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "CLOSE", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_OPEN()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "OPEN")); if (!yymatchChar('(')) goto l48; if (!yy__()) goto l48;
+ yyprintf((stderr, "%s\n", "OPEN")); if (!yymatchChar('(')) goto l47; if (!yy__()) goto l47;
yyprintf((stderr, " ok %s @ %s\n", "OPEN", yybuf+yypos));
return 1;
- l48:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l47:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "OPEN", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_COLON()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "COLON")); if (!yymatchChar(':')) goto l49; if (!yy__()) goto l49;
+ yyprintf((stderr, "%s\n", "COLON")); if (!yymatchChar(':')) goto l48; if (!yy__()) goto l48;
yyprintf((stderr, " ok %s @ %s\n", "COLON", yybuf+yypos));
return 1;
- l49:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l48:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "COLON", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_PLUS()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "PLUS")); if (!yymatchChar('+')) goto l50; if (!yy__()) goto l50;
+ yyprintf((stderr, "%s\n", "PLUS")); if (!yymatchChar('+')) goto l49; if (!yy__()) goto l49;
yyprintf((stderr, " ok %s @ %s\n", "PLUS", yybuf+yypos));
return 1;
- l50:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l49:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "PLUS", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_STAR()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "STAR")); if (!yymatchChar('*')) goto l51; if (!yy__()) goto l51;
+ yyprintf((stderr, "%s\n", "STAR")); if (!yymatchChar('*')) goto l50; if (!yy__()) goto l50;
yyprintf((stderr, " ok %s @ %s\n", "STAR", yybuf+yypos));
return 1;
- l51:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l50:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "STAR", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_QUESTION()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "QUESTION")); if (!yymatchChar('?')) goto l52; if (!yy__()) goto l52;
+ yyprintf((stderr, "%s\n", "QUESTION")); if (!yymatchChar('?')) goto l51; if (!yy__()) goto l51;
yyprintf((stderr, " ok %s @ %s\n", "QUESTION", yybuf+yypos));
return 1;
- l52:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l51:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "QUESTION", yybuf+yypos));
return 0;
}
@@ -629,75 +626,75 @@
YY_RULE(int) yy_primary()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
yyprintf((stderr, "%s\n", "primary"));
- { int yypos54= yypos, yythunkpos54= yythunkpos; if (!yy_identifier()) goto l55; yyDo(yy_1_primary, yybegin, yyend); if (!yy_COLON()) goto l55; if (!yy_identifier()) goto l55;
- { int yypos56= yypos, yythunkpos56= yythunkpos; if (!yy_EQUAL()) goto l56; goto l55;
- l56:; yypos= yypos56; yythunkpos= yythunkpos56;
- } yyDo(yy_2_primary, yybegin, yyend); goto l54;
- l55:; yypos= yypos54; yythunkpos= yythunkpos54; if (!yy_identifier()) goto l57;
- { int yypos58= yypos, yythunkpos58= yythunkpos; if (!yy_EQUAL()) goto l58; goto l57;
- l58:; yypos= yypos58; yythunkpos= yythunkpos58;
- } yyDo(yy_3_primary, yybegin, yyend); goto l54;
- l57:; yypos= yypos54; yythunkpos= yythunkpos54; if (!yy_OPEN()) goto l59; if (!yy_expression()) goto l59; if (!yy_CLOSE()) goto l59; goto l54;
- l59:; yypos= yypos54; yythunkpos= yythunkpos54; if (!yy_literal()) goto l60; yyDo(yy_4_primary, yybegin, yyend); goto l54;
- l60:; yypos= yypos54; yythunkpos= yythunkpos54; if (!yy_class()) goto l61; yyDo(yy_5_primary, yybegin, yyend); goto l54;
- l61:; yypos= yypos54; yythunkpos= yythunkpos54; if (!yy_DOT()) goto l62; yyDo(yy_6_primary, yybegin, yyend); goto l54;
- l62:; yypos= yypos54; yythunkpos= yythunkpos54; if (!yy_action()) goto l63; yyDo(yy_7_primary, yybegin, yyend); goto l54;
- l63:; yypos= yypos54; yythunkpos= yythunkpos54; if (!yy_BEGIN()) goto l64; yyDo(yy_8_primary, yybegin, yyend); goto l54;
- l64:; yypos= yypos54; yythunkpos= yythunkpos54; if (!yy_END()) goto l53; yyDo(yy_9_primary, yybegin, yyend);
+ { int yypos53= yypos, yythunkpos53= yythunkpos; if (!yy_identifier()) goto l54; yyDo(yy_1_primary, yybegin, yyend); if (!yy_COLON()) goto l54; if (!yy_identifier()) goto l54;
+ { int yypos55= yypos, yythunkpos55= yythunkpos; if (!yy_EQUAL()) goto l55; goto l54;
+ l55:; yypos= yypos55; yythunkpos= yythunkpos55;
+ } yyDo(yy_2_primary, yybegin, yyend); goto l53;
+ l54:; yypos= yypos53; yythunkpos= yythunkpos53; if (!yy_identifier()) goto l56;
+ { int yypos57= yypos, yythunkpos57= yythunkpos; if (!yy_EQUAL()) goto l57; goto l56;
+ l57:; yypos= yypos57; yythunkpos= yythunkpos57;
+ } yyDo(yy_3_primary, yybegin, yyend); goto l53;
+ l56:; yypos= yypos53; yythunkpos= yythunkpos53; if (!yy_OPEN()) goto l58; if (!yy_expression()) goto l58; if (!yy_CLOSE()) goto l58; goto l53;
+ l58:; yypos= yypos53; yythunkpos= yythunkpos53; if (!yy_literal()) goto l59; yyDo(yy_4_primary, yybegin, yyend); goto l53;
+ l59:; yypos= yypos53; yythunkpos= yythunkpos53; if (!yy_class()) goto l60; yyDo(yy_5_primary, yybegin, yyend); goto l53;
+ l60:; yypos= yypos53; yythunkpos= yythunkpos53; if (!yy_DOT()) goto l61; yyDo(yy_6_primary, yybegin, yyend); goto l53;
+ l61:; yypos= yypos53; yythunkpos= yythunkpos53; if (!yy_action()) goto l62; yyDo(yy_7_primary, yybegin, yyend); goto l53;
+ l62:; yypos= yypos53; yythunkpos= yythunkpos53; if (!yy_BEGIN()) goto l63; yyDo(yy_8_primary, yybegin, yyend); goto l53;
+ l63:; yypos= yypos53; yythunkpos= yythunkpos53; if (!yy_END()) goto l52; yyDo(yy_9_primary, yybegin, yyend);
}
- l54:;
+ l53:;
yyprintf((stderr, " ok %s @ %s\n", "primary", yybuf+yypos));
return 1;
- l53:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l52:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "primary", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_NOT()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "NOT")); if (!yymatchChar('!')) goto l65; if (!yy__()) goto l65;
+ yyprintf((stderr, "%s\n", "NOT")); if (!yymatchChar('!')) goto l64; if (!yy__()) goto l64;
yyprintf((stderr, " ok %s @ %s\n", "NOT", yybuf+yypos));
return 1;
- l65:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l64:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "NOT", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_suffix()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "suffix")); if (!yy_primary()) goto l66;
- { int yypos67= yypos, yythunkpos67= yythunkpos;
- { int yypos69= yypos, yythunkpos69= yythunkpos; if (!yy_QUESTION()) goto l70; yyDo(yy_1_suffix, yybegin, yyend); goto l69;
- l70:; yypos= yypos69; yythunkpos= yythunkpos69; if (!yy_STAR()) goto l71; yyDo(yy_2_suffix, yybegin, yyend); goto l69;
- l71:; yypos= yypos69; yythunkpos= yythunkpos69; if (!yy_PLUS()) goto l67; yyDo(yy_3_suffix, yybegin, yyend);
+ yyprintf((stderr, "%s\n", "suffix")); if (!yy_primary()) goto l65;
+ { int yypos66= yypos, yythunkpos66= yythunkpos;
+ { int yypos68= yypos, yythunkpos68= yythunkpos; if (!yy_QUESTION()) goto l69; yyDo(yy_1_suffix, yybegin, yyend); goto l68;
+ l69:; yypos= yypos68; yythunkpos= yythunkpos68; if (!yy_STAR()) goto l70; yyDo(yy_2_suffix, yybegin, yyend); goto l68;
+ l70:; yypos= yypos68; yythunkpos= yythunkpos68; if (!yy_PLUS()) goto l66; yyDo(yy_3_suffix, yybegin, yyend);
}
- l69:; goto l68;
- l67:; yypos= yypos67; yythunkpos= yythunkpos67;
+ l68:; goto l67;
+ l66:; yypos= yypos66; yythunkpos= yythunkpos66;
}
- l68:;
+ l67:;
yyprintf((stderr, " ok %s @ %s\n", "suffix", yybuf+yypos));
return 1;
- l66:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l65:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "suffix", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_action()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "action")); if (!yymatchChar('{')) goto l72; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l72;
- l73:;
- { int yypos74= yypos, yythunkpos74= yythunkpos; if (!yy_braces()) goto l74; goto l73;
- l74:; yypos= yypos74; yythunkpos= yythunkpos74;
- } yyText(yybegin, yyend); if (!(YY_END)) goto l72; if (!yymatchChar('}')) goto l72; if (!yy__()) goto l72;
+ yyprintf((stderr, "%s\n", "action")); if (!yymatchChar('{')) goto l71; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l71;
+ l72:;
+ { int yypos73= yypos, yythunkpos73= yythunkpos; if (!yy_braces()) goto l73; goto l72;
+ l73:; yypos= yypos73; yythunkpos= yythunkpos73;
+ } yyText(yybegin, yyend); if (!(YY_END)) goto l71; if (!yymatchChar('}')) goto l71; if (!yy__()) goto l71;
yyprintf((stderr, " ok %s @ %s\n", "action", yybuf+yypos));
return 1;
- l72:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l71:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "action", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_AND()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "AND")); if (!yymatchChar('&')) goto l75; if (!yy__()) goto l75;
+ yyprintf((stderr, "%s\n", "AND")); if (!yymatchChar('&')) goto l74; if (!yy__()) goto l74;
yyprintf((stderr, " ok %s @ %s\n", "AND", yybuf+yypos));
return 1;
- l75:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l74:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "AND", yybuf+yypos));
return 0;
}
@@ -704,90 +701,90 @@
YY_RULE(int) yy_prefix()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
yyprintf((stderr, "%s\n", "prefix"));
- { int yypos77= yypos, yythunkpos77= yythunkpos; if (!yy_AND()) goto l78; if (!yy_action()) goto l78; yyDo(yy_1_prefix, yybegin, yyend); goto l77;
- l78:; yypos= yypos77; yythunkpos= yythunkpos77; if (!yy_AND()) goto l79; if (!yy_suffix()) goto l79; yyDo(yy_2_prefix, yybegin, yyend); goto l77;
- l79:; yypos= yypos77; yythunkpos= yythunkpos77; if (!yy_NOT()) goto l80; if (!yy_suffix()) goto l80; yyDo(yy_3_prefix, yybegin, yyend); goto l77;
- l80:; yypos= yypos77; yythunkpos= yythunkpos77; if (!yy_suffix()) goto l76;
+ { int yypos76= yypos, yythunkpos76= yythunkpos; if (!yy_AND()) goto l77; if (!yy_action()) goto l77; yyDo(yy_1_prefix, yybegin, yyend); goto l76;
+ l77:; yypos= yypos76; yythunkpos= yythunkpos76; if (!yy_AND()) goto l78; if (!yy_suffix()) goto l78; yyDo(yy_2_prefix, yybegin, yyend); goto l76;
+ l78:; yypos= yypos76; yythunkpos= yythunkpos76; if (!yy_NOT()) goto l79; if (!yy_suffix()) goto l79; yyDo(yy_3_prefix, yybegin, yyend); goto l76;
+ l79:; yypos= yypos76; yythunkpos= yythunkpos76; if (!yy_suffix()) goto l75;
}
- l77:;
+ l76:;
yyprintf((stderr, " ok %s @ %s\n", "prefix", yybuf+yypos));
return 1;
- l76:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l75:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "prefix", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_BAR()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "BAR")); if (!yymatchChar('|')) goto l81; if (!yy__()) goto l81;
+ yyprintf((stderr, "%s\n", "BAR")); if (!yymatchChar('|')) goto l80; if (!yy__()) goto l80;
yyprintf((stderr, " ok %s @ %s\n", "BAR", yybuf+yypos));
return 1;
- l81:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l80:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "BAR", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_sequence()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "sequence")); if (!yy_prefix()) goto l82;
- l83:;
- { int yypos84= yypos, yythunkpos84= yythunkpos; if (!yy_prefix()) goto l84; yyDo(yy_1_sequence, yybegin, yyend); goto l83;
- l84:; yypos= yypos84; yythunkpos= yythunkpos84;
+ yyprintf((stderr, "%s\n", "sequence")); if (!yy_prefix()) goto l81;
+ l82:;
+ { int yypos83= yypos, yythunkpos83= yythunkpos; if (!yy_prefix()) goto l83; yyDo(yy_1_sequence, yybegin, yyend); goto l82;
+ l83:; yypos= yypos83; yythunkpos= yythunkpos83;
}
yyprintf((stderr, " ok %s @ %s\n", "sequence", yybuf+yypos));
return 1;
- l82:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l81:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "sequence", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_SEMICOLON()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "SEMICOLON")); if (!yymatchChar(';')) goto l85; if (!yy__()) goto l85;
+ yyprintf((stderr, "%s\n", "SEMICOLON")); if (!yymatchChar(';')) goto l84; if (!yy__()) goto l84;
yyprintf((stderr, " ok %s @ %s\n", "SEMICOLON", yybuf+yypos));
return 1;
- l85:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l84:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "SEMICOLON", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_expression()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "expression")); if (!yy_sequence()) goto l86;
- l87:;
- { int yypos88= yypos, yythunkpos88= yythunkpos; if (!yy_BAR()) goto l88; if (!yy_sequence()) goto l88; yyDo(yy_1_expression, yybegin, yyend); goto l87;
- l88:; yypos= yypos88; yythunkpos= yythunkpos88;
+ yyprintf((stderr, "%s\n", "expression")); if (!yy_sequence()) goto l85;
+ l86:;
+ { int yypos87= yypos, yythunkpos87= yythunkpos; if (!yy_BAR()) goto l87; if (!yy_sequence()) goto l87; yyDo(yy_1_expression, yybegin, yyend); goto l86;
+ l87:; yypos= yypos87; yythunkpos= yythunkpos87;
}
yyprintf((stderr, " ok %s @ %s\n", "expression", yybuf+yypos));
return 1;
- l86:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l85:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "expression", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_EQUAL()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "EQUAL")); if (!yymatchChar('=')) goto l89; if (!yy__()) goto l89;
+ yyprintf((stderr, "%s\n", "EQUAL")); if (!yymatchChar('=')) goto l88; if (!yy__()) goto l88;
yyprintf((stderr, " ok %s @ %s\n", "EQUAL", yybuf+yypos));
return 1;
- l89:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l88:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "EQUAL", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_identifier()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "identifier")); yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l90; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\040\000\000\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l90;
- l91:;
- { int yypos92= yypos, yythunkpos92= yythunkpos; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\040\377\003\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l92; goto l91;
- l92:; yypos= yypos92; yythunkpos= yythunkpos92;
- } yyText(yybegin, yyend); if (!(YY_END)) goto l90; if (!yy__()) goto l90;
+ yyprintf((stderr, "%s\n", "identifier")); yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l89; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\040\000\000\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l89;
+ l90:;
+ { int yypos91= yypos, yythunkpos91= yythunkpos; if (!yymatchClass((unsigned char *)"\000\000\000\000\000\040\377\003\376\377\377\207\376\377\377\007\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l91; goto l90;
+ l91:; yypos= yypos91; yythunkpos= yythunkpos91;
+ } yyText(yybegin, yyend); if (!(YY_END)) goto l89; if (!yy__()) goto l89;
yyprintf((stderr, " ok %s @ %s\n", "identifier", yybuf+yypos));
return 1;
- l90:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l89:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "identifier", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_RPERCENT()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "RPERCENT")); if (!yymatchString("%}")) goto l93; if (!yy__()) goto l93;
+ yyprintf((stderr, "%s\n", "RPERCENT")); if (!yymatchString("%}")) goto l92; if (!yy__()) goto l92;
yyprintf((stderr, " ok %s @ %s\n", "RPERCENT", yybuf+yypos));
return 1;
- l93:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l92:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "RPERCENT", yybuf+yypos));
return 0;
}
@@ -794,54 +791,54 @@
YY_RULE(int) yy_end_of_file()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
yyprintf((stderr, "%s\n", "end_of_file"));
- { int yypos95= yypos, yythunkpos95= yythunkpos; if (!yymatchDot()) goto l95; goto l94;
- l95:; yypos= yypos95; yythunkpos= yythunkpos95;
+ { int yypos94= yypos, yythunkpos94= yythunkpos; if (!yymatchDot()) goto l94; goto l93;
+ l94:; yypos= yypos94; yythunkpos= yythunkpos94;
}
yyprintf((stderr, " ok %s @ %s\n", "end_of_file", yybuf+yypos));
return 1;
- l94:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l93:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "end_of_file", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_trailer()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "trailer")); if (!yymatchString("%%")) goto l96; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l96;
- l97:;
- { int yypos98= yypos, yythunkpos98= yythunkpos; if (!yymatchDot()) goto l98; goto l97;
- l98:; yypos= yypos98; yythunkpos= yythunkpos98;
- } yyText(yybegin, yyend); if (!(YY_END)) goto l96; yyDo(yy_1_trailer, yybegin, yyend);
+ yyprintf((stderr, "%s\n", "trailer")); if (!yymatchString("%%")) goto l95; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l95;
+ l96:;
+ { int yypos97= yypos, yythunkpos97= yythunkpos; if (!yymatchDot()) goto l97; goto l96;
+ l97:; yypos= yypos97; yythunkpos= yythunkpos97;
+ } yyText(yybegin, yyend); if (!(YY_END)) goto l95; yyDo(yy_1_trailer, yybegin, yyend);
yyprintf((stderr, " ok %s @ %s\n", "trailer", yybuf+yypos));
return 1;
- l96:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l95:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "trailer", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_definition()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "definition")); if (!yy_identifier()) goto l99; yyDo(yy_1_definition, yybegin, yyend); if (!yy_EQUAL()) goto l99; if (!yy_expression()) goto l99; yyDo(yy_2_definition, yybegin, yyend);
- { int yypos100= yypos, yythunkpos100= yythunkpos; if (!yy_SEMICOLON()) goto l100; goto l101;
- l100:; yypos= yypos100; yythunkpos= yythunkpos100;
+ yyprintf((stderr, "%s\n", "definition")); if (!yy_identifier()) goto l98; yyDo(yy_1_definition, yybegin, yyend); if (!yy_EQUAL()) goto l98; if (!yy_expression()) goto l98; yyDo(yy_2_definition, yybegin, yyend);
+ { int yypos99= yypos, yythunkpos99= yythunkpos; if (!yy_SEMICOLON()) goto l99; goto l100;
+ l99:; yypos= yypos99; yythunkpos= yythunkpos99;
}
- l101:;
+ l100:;
yyprintf((stderr, " ok %s @ %s\n", "definition", yybuf+yypos));
return 1;
- l99:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l98:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "definition", yybuf+yypos));
return 0;
}
YY_RULE(int) yy_declaration()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "declaration")); if (!yymatchString("%{")) goto l102; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l102;
- l103:;
- { int yypos104= yypos, yythunkpos104= yythunkpos;
- { int yypos105= yypos, yythunkpos105= yythunkpos; if (!yymatchString("%}")) goto l105; goto l104;
- l105:; yypos= yypos105; yythunkpos= yythunkpos105;
- } if (!yymatchDot()) goto l104; goto l103;
+ yyprintf((stderr, "%s\n", "declaration")); if (!yymatchString("%{")) goto l101; yyText(yybegin, yyend); if (!(YY_BEGIN)) goto l101;
+ l102:;
+ { int yypos103= yypos, yythunkpos103= yythunkpos;
+ { int yypos104= yypos, yythunkpos104= yythunkpos; if (!yymatchString("%}")) goto l104; goto l103;
l104:; yypos= yypos104; yythunkpos= yythunkpos104;
- } yyText(yybegin, yyend); if (!(YY_END)) goto l102; if (!yy_RPERCENT()) goto l102; yyDo(yy_1_declaration, yybegin, yyend);
+ } if (!yymatchDot()) goto l103; goto l102;
+ l103:; yypos= yypos103; yythunkpos= yythunkpos103;
+ } yyText(yybegin, yyend); if (!(YY_END)) goto l101; if (!yy_RPERCENT()) goto l101; yyDo(yy_1_declaration, yybegin, yyend);
yyprintf((stderr, " ok %s @ %s\n", "declaration", yybuf+yypos));
return 1;
- l102:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l101:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "declaration", yybuf+yypos));
return 0;
}
@@ -848,13 +845,13 @@
YY_RULE(int) yy__()
{
yyprintf((stderr, "%s\n", "_"));
- l107:;
- { int yypos108= yypos, yythunkpos108= yythunkpos;
- { int yypos109= yypos, yythunkpos109= yythunkpos; if (!yy_space()) goto l110; goto l109;
- l110:; yypos= yypos109; yythunkpos= yythunkpos109; if (!yy_comment()) goto l108;
+ l106:;
+ { int yypos107= yypos, yythunkpos107= yythunkpos;
+ { int yypos108= yypos, yythunkpos108= yythunkpos; if (!yy_space()) goto l109; goto l108;
+ l109:; yypos= yypos108; yythunkpos= yythunkpos108; if (!yy_comment()) goto l107;
}
- l109:; goto l107;
- l108:; yypos= yypos108; yythunkpos= yythunkpos108;
+ l108:; goto l106;
+ l107:; yypos= yypos107; yythunkpos= yythunkpos107;
}
yyprintf((stderr, " ok %s @ %s\n", "_", yybuf+yypos));
return 1;
@@ -861,26 +858,26 @@
}
YY_RULE(int) yy_grammar()
{ int yypos0= yypos, yythunkpos0= yythunkpos;
- yyprintf((stderr, "%s\n", "grammar")); if (!yy__()) goto l111;
- { int yypos114= yypos, yythunkpos114= yythunkpos; if (!yy_declaration()) goto l115; goto l114;
- l115:; yypos= yypos114; yythunkpos= yythunkpos114; if (!yy_definition()) goto l111;
+ yyprintf((stderr, "%s\n", "grammar")); if (!yy__()) goto l110;
+ { int yypos113= yypos, yythunkpos113= yythunkpos; if (!yy_declaration()) goto l114; goto l113;
+ l114:; yypos= yypos113; yythunkpos= yythunkpos113; if (!yy_definition()) goto l110;
}
- l114:;
- l112:;
- { int yypos113= yypos, yythunkpos113= yythunkpos;
- { int yypos116= yypos, yythunkpos116= yythunkpos; if (!yy_declaration()) goto l117; goto l116;
- l117:; yypos= yypos116; yythunkpos= yythunkpos116; if (!yy_definition()) goto l113;
+ l113:;
+ l111:;
+ { int yypos112= yypos, yythunkpos112= yythunkpos;
+ { int yypos115= yypos, yythunkpos115= yythunkpos; if (!yy_declaration()) goto l116; goto l115;
+ l116:; yypos= yypos115; yythunkpos= yythunkpos115; if (!yy_definition()) goto l112;
}
- l116:; goto l112;
- l113:; yypos= yypos113; yythunkpos= yythunkpos113;
+ l115:; goto l111;
+ l112:; yypos= yypos112; yythunkpos= yythunkpos112;
}
- { int yypos118= yypos, yythunkpos118= yythunkpos; if (!yy_trailer()) goto l118; goto l119;
- l118:; yypos= yypos118; yythunkpos= yythunkpos118;
+ { int yypos117= yypos, yythunkpos117= yythunkpos; if (!yy_trailer()) goto l117; goto l118;
+ l117:; yypos= yypos117; yythunkpos= yythunkpos117;
}
- l119:; if (!yy_end_of_file()) goto l111;
+ l118:; if (!yy_end_of_file()) goto l110;
yyprintf((stderr, " ok %s @ %s\n", "grammar", yybuf+yypos));
return 1;
- l111:; yypos= yypos0; yythunkpos= yythunkpos0;
+ l110:; yypos= yypos0; yythunkpos= yythunkpos0;
yyprintf((stderr, " fail %s @ %s\n", "grammar", yybuf+yypos));
return 0;
}
--- a/leg.leg
+++ b/leg.leg
@@ -15,7 +15,7 @@
#
# THE SOFTWARE IS PROVIDED 'AS IS'. USE ENTIRELY AT YOUR OWN RISK.
#
-# Last edited: 2011-11-24 09:27:56 by piumarta on emilia
+# Last edited: 2012-03-23 03:16:17 by piumarta on emilia
%{
# include "tree.h"
@@ -118,7 +118,7 @@
action= '{' < braces* > '}' -
-braces= '{' (!'}' .)* '}'
+braces= '{' braces* '}'
| !'}' .
EQUAL= '=' -
--- a/version.h
+++ b/version.h
@@ -1,3 +1,3 @@
#define PEG_MAJOR 0
#define PEG_MINOR 1
-#define PEG_LEVEL 7
+#define PEG_LEVEL 8