Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ENIGMA:
- Description: |
- The Extensible Non-Interpreted Game Maker Augmentation
- Comprises:
- - Compiler
- - Engine
- Engine:
- Description: |
- The game engine upon which output games are built. The engine is
- written in the native output language and is meant to be used with
- translated EDL only (with rare exception).
- Comprises:
- - Universal Systems
- - Systems Interfaces
- - Environment Editables
- Universal Systems:
- Description: |
- Contains platform-independent, system-agnostic code to run the game.
- Systems Interfaces:
- Description: |
- Contains code for specialized systems which may be platform-dependent
- or specific to certain types of games.
- Environment Editables:
- Description: |
- The folder into which translated user code is written, along with
- other game-specific code which needs to be generated by the [[compiler]]
- to properly interface games with the engine.
- Compiler:
- Description: |
- Builds your game, written in [[EDL]], to a native language.
- Comprises:
- - Definitions Parser
- - Parser
- - Language Adapter
- Definitions Parser:
- Description: |
- Any mechanism which operates on the [[Engine]] source code to generate
- [[native definitions]] objects for use by the [[Parser]].
- Comprises:
- - JustDefineIt
- Produces:
- - Native definitions
- JDI:
- Synonym: JustDefineIt
- JustDefineIt:
- Description: |
- The framework on which the ENIGMA compiler is built. Used to represent
- definitions harvested from the engine code, in order to interpret
- users' [[EDL]] code.
- Comprises:
- - JDI::Context
- - C++ Parser
- C++ Parser:
- Instance of: Definitions parser
- Description: |
- The JustDefineIt storage hierarchy was designed around parsing C++
- code. JDI provides a full C++ parser which is used by the C++
- [[Language Adapter]] to enumerate functions and data types declared
- in ENIGMA's [[engine]]. Only those types and functions declared in
- namespace `enigma_user` are considered.
- Produces:
- - C++ Definitions
- C++ Definitions:
- Instance of: Native definitions
- Description: |
- Native definitions pulled from the [[C++ engine]], as read in by the
- [[C++ parser]]. These are likely to include many data types
- representing actual C++ structures and classes, and functions
- corresponding to actual C++ function overloads.
- Parser:
- Description: |
- ENIGMA's parser is a native-language-insensitive mechanism which
- interprets [[EDL]] code and builds abstract information about it.
- Comprises:
- - EDL Lexer
- Requires:
- - Native Definitions
- Produces:
- - EDL AST
- - Object usage graph
- Native Definitions:
- Description: |
- Classes (defined in [[JDI]]) denoting functions and data types
- available in user code, as supported by the [[engine]] of the current
- language.
- Language Adapter:
- Description: |
- Enables the compiler to interface with and export to a particular
- language.
- Comprises:
- - Code Generator
- - Definitions Parser
- Code Generator:
- Description: |
- Outputs used code from the parser into the native language meant to be
- compiled further or run on the system.
- Requires:
- - EDL AST
- - Object usage graph
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement