Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ## EBNF grammar for "AA Coodaus" (language by Halki elämän).
- ## NB: some cases may not be accurately represented just yet.
- ## Fixing them is left as an exercise for the reader.
- alphabet = "A" | "B" | "C" | "D" | "E" | "F" | "G" | "H" | "I" | "J" | "K" | "L" | "M" | "N" | "O" | "P" | "Q" | "R" | "S" | "T" | "U" | "V" | "W" | "X" | "Y" | "Z" ;
- digit = "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9";
- separator = "-" | ",";
- identifier = alphabet , { alphabet | digit } ;
- number = digit, { digit };
- program = statement, { "\n" | "." , statement };
- statement =
- connection-stmt |
- create-game-stmt |
- game-name-stmt |
- size-stmt |
- hack-stmt |
- dig-stmt |
- send-stmt |
- blu-stmt |
- level-stmt |
- connect-stmt |
- danger-stmt;
- connection-stmt = "Ot-yhteys", identifier;
- create-game-stmt = "Cr-peli";
- game-name-stmt = "Peli ", identifier;
- size-stmt = "Koko ", number, "mega,t";
- hack-stmt = "Hkr-", identifier, [separator, identifier];
- dig-stmt = "Kv", ["-ka"], separator, identifier;
- send-stmt = "Send-", identifier;
- blu-stmt = "Blu-", (blu-connection-stmt | blu-users-stmt);
- blu-connection-stmt = "yhteys";
- blu-users-stmt = "users", identifier, {identifier};
- level-stmt = "Ket", separator, {identifier, separator, identifier, separator};
- connect-stmt = "connect";
- danger-stmt = "Vaara ", ("max" | number);
Add Comment
Please, Sign In to add comment