* Deal with the new flex 2.5.31 as follows:
[filters.git] / ky00te.dir / ky00te.yacc
CommitLineData
bc19f2cf 1%{
2
3#include <stdio.h>
4typedef int INT;
5
6#define YYSTYPE INT
7
8%}
9
10%token CUTE
11%token FLUFF
12%token SMILE
13%token PURR
14%token FUR
15%token MEOW
16%token ATTA
17%token YNNA
18%token YSSA
19%token ONNA
20%token WYFFA
21%token LOTTA
22%token WYF
23%token WYFF
24%token DA
25%token YER
26%token YA
27%token AN
28%token TA
29%token WEN
30%token NA /*UN*/
31%token LETTER
32
33%%
34
35s:
36 | s t
37 | s ' '
38 {
39 if (rand() % 30 < 1)
40 {
41 int inRand;
42
43 inRand = rand() % 5;
44
45 switch(inRand)
46 {
47 case 0:
48 printf(" *truffle break!* ");
49 break;
50
51 case 1:
52 printf(" *catnap break!* ");
53 break;
54
55 case 2:
56 printf(" *purrpurr* ");
57 break;
58
59 case 3:
60 printf(" *meow!* ");
61 break;
62
63 case 4:
64 printf(" *fluff!* ");
65 break;
66 }
67 }
68 else
69 {
70 printf(" ");
71 }
72 }
73 ;
74
75t: CUTE { printf("ky00te!"); }
76 | FLUFF { printf("*fluff!*"); }
77 | SMILE { printf("};)"); }
78 | PURR { printf("purr"); }
79 | FUR { printf("fur"); }
80 | MEOW { int inRand;
81
82 inRand = rand() % 5;
83
84 switch(inRand)
85 {
86 case 0:
87 case 1:
88 case 2:
89 printf("meow");
90 break;
91 case 3:
92 case 4:
93 printf("mew");
94 }
95 }
96 | ATTA { printf("atta"); }
97 | YNNA { printf("ynna"); }
98 | YSSA { printf("yssa"); }
99 | ONNA { printf("onna"); }
100 | WYFFA { printf("wyffa"); }
101 | LOTTA { printf("lotta"); }
102 | WYF { printf(" wyf "); }
103 | WYFF { printf(" wyff"); }
104 | DA { printf(" da "); }
105 | YER { printf(" yer"); }
106 | YA { printf(" ya"); }
107 | AN { printf(" 'n "); }
108 | TA { printf(" ta "); }
109 | WEN { printf(" w'en "); }
110 | NA { printf(" na'"); } /*UN*/
111 | LETTER { if (yylval == 'r')
112 printf("rr");
113 else
114 printf("%c", $1); }
115 ;
116
117
118%%
119
120extern char mylval;
121
7f4e9d5e 122int yyerror(char *s) {
bc19f2cf 123 printf("%s\n",s);
124}
125
126int main()
127{
128 yyparse();
129
130 return 0;
131}
132
133
This page took 0.015656 seconds and 4 git commands to generate.