diff --git a/.idea/filigree-texts.iml b/.idea/filigree-texts.iml new file mode 100644 index 0000000..d6ebd48 --- /dev/null +++ b/.idea/filigree-texts.iml @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/.idea/modules.xml b/.idea/modules.xml new file mode 100644 index 0000000..ab0beb4 --- /dev/null +++ b/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/.idea/vcs.xml b/.idea/vcs.xml new file mode 100644 index 0000000..35eb1dd --- /dev/null +++ b/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/mtg.g4 b/mtg.g4 new file mode 100644 index 0000000..70e20b7 --- /dev/null +++ b/mtg.g4 @@ -0,0 +1,27 @@ +grammar mtg; + +// Take care of whitespace. +WS : [ \r\t]+ -> skip; + +/* +This will be the entry point of our parser. +*/ +evaluate + : textbox? + ; + +/* +Split everything into rows, divided by newlines. Can be 0 to infinite number of rows. +Can't quite get it to ignore newlines on last line... +*/ +textbox + : (row '\n')* + ; + +/* +Every row either has one ability, or a list of them. +*/ +row + : ability + | ability_list + ;