A Forth-like interpreter written in Java, with three supported languages: pi, rho and tau.
Supports concept of a continuation, also known as a fibre.
Note that, like Forth, pi uses reverse polish notation. If you've only used in-fix notation, it will all look weird. For example, the expression:
a = b*2 + c
would be expressed as:
2 b * c + 'a =
See sample scripts. Note that MarkDown files are also executable fifth-lang files.
See an example of Literate Programming with fifth-lang using Markdown
Re-organise project structure into multiple modules:
- fifth-common
- Contains common functionality for all dependant modules, such as file access, logging etc.
- fifth-pi
- The pi RPN language
- fifth-rho
- the rho in-fix, python-like language that translates to pi
- fifth-tau
- Idl for generating networked Dto' and Rpc's
The root of the language documentation is fully fledged out and very coherent.
See scripts folder for test scripts.
- Better error reporting at each stage:
- Lexer
- Parser
- Translator
- Executor
- Replace operator
- Resume operator
- For loops
- While loops
- Language description other than tests and code
- Interaction with local file system: Danger
- Basic REST calls: Danger
- A final line in a script with a trailing comment fails to parse.