X-Git-Url: https://www.fi.muni.cz/~kas/git//home/kas/public_html/git/?a=blobdiff_plain;f=2015%2Fy%2Ftask38.yp;fp=2015%2Fy%2Ftask38.yp;h=84145e4a2426c13714f17f9f3cac1c6719220e5b;hb=7061fbf4c001ff87b35c0cf28e12c185c01bea79;hp=0000000000000000000000000000000000000000;hpb=bb4cf23d688aa8351ae1efd4a7af429f10822450;p=aoc.git diff --git a/2015/y/task38.yp b/2015/y/task38.yp new file mode 100644 index 0000000..84145e4 --- /dev/null +++ b/2015/y/task38.yp @@ -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}++ } + ; +%%