5D Interna

All builtins must use REGISTER_STR() which must return their common name.

REPL/REPLEnvironment

Registers builtins common to all REPL frontends (addition etc).

REPL/REPL.cc

Contains parts common to all REPL frontends (f.e. loading and saving).

REPL/main.cc

A simple automatable frontend, used for unit tests.

Values/Values.cc

Contains the Abstract "Syntax"(Semantic) Tree.

AST/Symbols.cc

Exports commonly used symbols as a speed optimization.

AST/Keyword.cc

Contains keywords (@mode:), i.e. the name of keyword arguments.

AST/Symbol.cc

Contains symbols ('foo), i.e. the smallest parts of math equations

Evaluators/Operation.cc

Contains the actual building blocks for a builtin operation. Note that these check a variable "argumentCount" on the CProcedure in order to find out when to call the actual builtin. If the argumentCount is negative, then keyword arguments are allowed as well.

Evaluators/Builtins.cc

Contains builtin operations except for numbers.

Evaluators/Evaluators.cc

Contains the actual evaluator. This is the language core.

Evaluators/FFI.cc

Contains the interface to the foreign function interface.

Evaluators/Backtracker.cc

Contains a simple backtracker that is snapshotting the stack (unused).

TUI/Interrupt.cc

Contains a signal handler for SIGINT so that KeyboardInterrupt is generated.

TUI/main.cc

A complete readline-based frontend.

Numbers/Integer.cc

Arbitrary-precision integers.

Numbers/Real.cc

Real numbers.

Numbers/BigUnsigned.cc

Implementation detail of Numbers/Integer.cc

Formatters/Math.cc

The main formatter used to display ASTs on screen.

Formatters/UTFStateMachine.cc

UTF-8 state machine used to derive LATEX character names.

Formatters/SExpression.cc

S-Expression formatter, used for the environment file.

Formatters/LATEX.cc

LATEX formatter, used in the GUI frontend for display.

GUI/GTKGUI.cc

Very complete Gtk-based frontend: main()

GUI/WIN32REPL.cc

Very complete WIN32 SDK-based frontend.

GUI/GTKView.cc

Unused

GUI/GTKCompleter.cc

Command line completer.

GUI/GTKTerminalEmulator.cc

Unused

GUI/GTKREPL.cc

Very complete Gtk-based frontend

GUI/WIN32Completer.cc

Command line completer.

GUI/GTKLATEXGenerator.cc

Calls LATEX to get images to display for the ASTs.

Scanners/OperatorPrecedenceList.cc

The Operation Precedence List used by the Math Parser.

Scanners/MathParser.cc

The main parser.

Scanners/ParenAdder.cc

A silly way to add parenthesis into a string in order to fake operator precedence without writing a full-blown parser.

Scanners/Scanner.cc

LL(1) scanner for files (FILE*). Looks one byte ahead (and thus is very simple-minded).

FFIs/WIN32.cc

FFI main part for WIN32 systems.

FFIs/POSIX.cc

FFI main part for POSIX systems.