Skip to content

mthomason/Scrimpter

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Scrimpter Overview

Project Description

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.

Key Features

  • 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.

Core Components

  • parser.ym: The grammar for the Scrimpter language, written in a format that is compatible with the yacc parser generator.
  • scanner.lm: The lexical analyzer for the Scrimpter language, written in a format that is compatible with the lex scanner 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.

Who Is This Useful For

This is useful if you are interested in data structures, parsers, scanners, Objective-C, Xcode, and iOS or MacOS development.

About

A scripting language for use in iOS / MacOS applications

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors