Adding a language

From ENIGMA

Revision as of 05:52, 31 December 2012 by Josh @ dreamland (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

The EDL parser, while based on JDI, stores code in a standard syntax tree and is designed to promote modularity in export formats. That being the case, adding a language is relatively easy; this page will document the process and highlight key points to keep in mind.

Parsing

Each language module is responsible for populating a JDI context with a set of definitions for ENIGMA to utilize. These are C++-format, since EDL's syntax most closely resembles C++. Other languages will simply map applicable reference types to those of C++ (and therefore of EDL). Should a change be made later to accommodate referencing features of other languages (such as "safe" versus "unsafe" function references), this specification will be revised.

Pretty Printing

Things you don't have to consider

Personal tools
Namespaces
Variants
Actions
Navigation
ENIGMA
Other
Toolbox