MiniD 1 Language Specification

This is the specification for version 1 of MiniD. The version 1 spec was frozen as of May 2007 and version 1 of the library was released the following August.

The reference implementation of MiniD 1 is probably not going to receive any more work from me, as I'm now working on MiniD 2, which should be quite an improvement both in the native API and in the language itself. Still, this specification is completely valid and anyone is free to implement it.

  • Introduction - A brief overview of the language, with some small examples.
  • MiniD 1 Specification
    • Compilation - Describes the process of compiling source text into an executable form.
    • Execution - How the compiled MiniD code is actually run.
    • Lexical - The very basic textual bits that the language is made up of.
    • Expressions - The algebraic language syntax of MiniD.
    • Statements - Various language constructs.
    • Types - A description of the various data types in MiniD.
    • Declarations - How one declares and initializes variables.
    • Functions - How to declare functions and what they can do.
    • Classes - The object-oriented aspects of MiniD.
    • Modules - The largest blocks of organization in MiniD, and how to work with them.
    • Metamethods - How to customize the behavior of objects and perform operator overloading.
    • Grammar - The (mostly-correct) EBNF grammar for MiniD.
  • Standard Library - The library of code which accompanies MiniD.