Skip to content

Ripe Banana

Latest
Compare
Choose a tag to compare
@LemonPi LemonPi released this 24 Jun 23:43
· 16 commits to master since this release

This release contributes a stable API in the form of code structure and interaction:

Core

The core consists of the lexer and parser,

Lexer reads in characters from a stream and converts them to tokens,
which are typed and have both a numeric and string value.

Parser evaluates the value of tokens by enforcing grammar - how token
values should be interpreted in series.

Addons

Addons are what they sound like - modules that add non-essential feature to the program.
This includes error handling and value lookup.

Error handling pervades the lexer and parser, keeping track of the error and number of errors.

Lookup defines the variable-value table, input history, and various function tables (unary functions and modifiers so far). Parser calls upon lookup when a name token is encountered.

Interface

The interface defines how the user can interact with the program; so far
it is through the command line and from a web console.

The command line and web console interface should be almost identical, with the only
difference being the different input and output streams.