]> www.fi.muni.cz Git - aoc.git/blobdiff - 2015/y/task38.yp
Year 2015
[aoc.git] / 2015 / y / task38.yp
diff --git a/2015/y/task38.yp b/2015/y/task38.yp
new file mode 100644 (file)
index 0000000..84145e4
--- /dev/null
@@ -0,0 +1,78 @@
+%{
+       my $count = 0;
+%}
+
+%start e
+
+%%
+
+Al :   'Al'
+       |  Th F { shift->YYData->{count}++ }
+       |  Th Rn F Ar { shift->YYData->{count}++ }
+       ;
+B :    'B'
+       |  B Ca { shift->YYData->{count}++ }
+       |  Ti B { shift->YYData->{count}++ }
+       |  Ti Rn F Ar { shift->YYData->{count}++ }
+       ;
+Ca :   'Ca'
+       |  Ca Ca { shift->YYData->{count}++ }
+       |  P B { shift->YYData->{count}++ }
+       |  P Rn F Ar { shift->YYData->{count}++ }
+       |  Si Rn F Y F Ar { shift->YYData->{count}++ }
+       |  Si Rn Mg Ar { shift->YYData->{count}++ }
+       |  Si Th { shift->YYData->{count}++ }
+       ;
+F :    'F'
+       |  Ca F { shift->YYData->{count}++ }
+       |  P Mg { shift->YYData->{count}++ }
+       |  Si Al { shift->YYData->{count}++ }
+       ;
+H :    'H'
+       |  C Rn Al Ar { shift->YYData->{count}++ }
+       |  C Rn F Y F Y F Ar { shift->YYData->{count}++ }
+       |  C Rn F Y Mg Ar { shift->YYData->{count}++ }
+       |  C Rn Mg Y F Ar { shift->YYData->{count}++ }
+       |  H Ca { shift->YYData->{count}++ }
+       |  N Rn F Y F Ar { shift->YYData->{count}++ }
+       |  N Rn Mg Ar { shift->YYData->{count}++ }
+       |  N Th { shift->YYData->{count}++ }
+       |  O B { shift->YYData->{count}++ }
+       |  O Rn F Ar { shift->YYData->{count}++ }
+       ;
+Mg :   'Mg'
+       |  B F { shift->YYData->{count}++ }
+       |  Ti Mg { shift->YYData->{count}++ }
+       ;
+N :    'N'
+       |  C Rn F Ar { shift->YYData->{count}++ }
+       |  H Si { shift->YYData->{count}++ }
+       ;
+O :    'O'
+       |  C Rn F Y F Ar { shift->YYData->{count}++ }
+       |  C Rn Mg Ar { shift->YYData->{count}++ }
+       |  H P { shift->YYData->{count}++ }
+       |  N Rn F Ar { shift->YYData->{count}++ }
+       |  O Ti { shift->YYData->{count}++ }
+       ;
+P :    'P'
+       |  Ca P { shift->YYData->{count}++ }
+       |  P Ti { shift->YYData->{count}++ }
+       |  Si Rn F Ar { shift->YYData->{count}++ }
+       ;
+Si :   'Si'
+       |  Ca Si { shift->YYData->{count}++ }
+       ;
+Th :   'Th'
+       |  Th Ca { shift->YYData->{count}++ }
+       ;
+Ti :   'Ti'
+       |  B P { shift->YYData->{count}++ }
+       |  Ti Ti { shift->YYData->{count}++ }
+       ;
+e:
+          H F { shift->YYData->{count}++ }
+       |  N Al { shift->YYData->{count}++ }
+       |  O Mg { shift->YYData->{count}++ }
+       ;
+%%