The Scrimpter project is a custom scripting language that is used for creating formula elements in the MAD Designer application. It includes a parser, a scanner, and a set of classes for representing the abstract syntax tree (AST) of a script.
There are two parts to this project. There are MADDataStructures. It is required to compile the scripting language, though only a few of them are used.
The scripting language requires Flex and Bison to compile. It may depend on a specific version of these.
You should include both MADDataStructures and Scrimpter into your project workspace.
- Custom Scripting Language: The project defines a custom scripting language that can be used to perform calculations and manipulate data.
- Parser and Scanner: It includes a parser (
parser.ym) and a scanner (scanner.lm) that are used to read a script and convert it into an AST. - Abstract Syntax Tree (AST): The framework provides a set of classes for representing the AST of a script. This allows the script to be analyzed, optimized, and executed.
- Symbol Table: It includes a symbol table for managing the variables and functions that are defined in a script.
parser.ym: The grammar for the Scrimpter language, written in a format that is compatible with theyaccparser generator.scanner.lm: The lexical analyzer for the Scrimpter language, written in a format that is compatible with thelexscanner generator.MTAbstractSyntaxTree: The main class for representing the AST of a script.MTAstNode...: A set of classes that represent the different types of nodes in the AST (e.g., arithmetic operations, function calls, statements).MADSymbolTable: A class for managing the symbols (variables and functions) that are used in a script.MADScrimpter: The main class for interacting with the Scrimpter engine. It likely provides methods for parsing and executing scripts.
This is useful if you are interested in data structures, parsers, scanners, Objective-C, Xcode, and iOS or MacOS development.