From 64034cafa2d192f59f4890a67896c5b311cbf84f Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Wed, 19 Jul 2017 12:02:22 +0000 Subject: Add readme and license --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..94cba01 --- /dev/null +++ b/README.md @@ -0,0 +1,50 @@ +# Sil + +A compiler for the simple imperative language sil. +This compiler is written in [Clean][clean] and compiles to [ABC-assembly][abc], +which can be used to generate actual machine code using Clean's code generator +or can be interpreted with the [ABCMachine][abc-github] project. + +## Grammar + +``` + ::= -list + + ::= '(' -clist ')' '{' '}' + + ::= -list -list + + ::= -clist ';' + + ::= ':=' ';' + | ';' + | 'return' [] ';' + | 'if' '(' ')' '{' '}' + ['else' '{' '}'] ';' + | 'while' '(' ')' '{' '}' ';' + | '|~' + + ::= + | + | '(' -clist ')' + | + | + + ::= '~' + + ::= '+' | '-' | '*' | '/' | '%' | '==' | '||' | '&&' + + ::= 'Bool' | 'Int' | 'Void' + + ::= | +``` + +## Author & License + +Copyright © 2017 [Camil Staps][cs]. +Licensed under MIT, see the `LICENSE` file. + +[abc]: https://en.wikipedia.org/wiki/Clean_%28programming_language%29#The_ABC-Machine +[abc-github]: https://github.com/camilstaps/ABCMachine +[clean]: http://clean.cs.ru.nl +[cs]: https://camilstaps.nl -- cgit v1.2.3