Getting Started
Snail source files have the extension .sl. The reference implementation also
defines several other formats for representing intermediate program
representations.
Obtaining and Running the Interpreter
Go to the Downloads page to obtain a copy of the reference interpreter. To run a snail program with the interpreter, pass the file in as a command line argument:
snail file.sl
The snail interpreter has several command-line options:
--lex(-l) the interpreter will stop after tokenizing (lexing) the input program and will output an.sl-lexfile containing tokens in a simple interchange format.--unlex(-L) the interpreter will undo lexing and produce an.unlex.slsource file containing the original snail tokens.--parse(-p) the interpreter will stop after parsing tokens from the input program and output an.sl-astfile containing the abstract syntax tree of the program in JSON format.--unparse(-P) the interpreter will undo parsing and produce an.unparse.slsourcefile containing a snail program equivalent to a given AST.--trace(-t) the interpreter will output additional debugging information while executing the program.
Note that the reference interpreter can also read well-formed .sl-lex and
.sl-ast files in addition to the basic .sl program source code.
Where to Go from Here
- If you are just getting started with snail, have a look at the Language Basics page for an introduction to snail syntax and language features.
- Check out this repository for some example programs written in snail.
- For language implementers, please refer to the Specification page for a formal specification of the language.