Advertisement
JoshDreamland

Sample Documentation

Mar 10th, 2014
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.22 KB | None | 0 0
  1. ENIGMA:
  2. Description: |
  3. The Extensible Non-Interpreted Game Maker Augmentation
  4. Comprises:
  5. - Compiler
  6. - Engine
  7.  
  8. Engine:
  9. Description: |
  10. The game engine upon which output games are built. The engine is
  11. written in the native output language and is meant to be used with
  12. translated EDL only (with rare exception).
  13. Comprises:
  14. - Universal Systems
  15. - Systems Interfaces
  16. - Environment Editables
  17.  
  18. Universal Systems:
  19. Description: |
  20. Contains platform-independent, system-agnostic code to run the game.
  21.  
  22. Systems Interfaces:
  23. Description: |
  24. Contains code for specialized systems which may be platform-dependent
  25. or specific to certain types of games.
  26.  
  27. Environment Editables:
  28. Description: |
  29. The folder into which translated user code is written, along with
  30. other game-specific code which needs to be generated by the [[compiler]]
  31. to properly interface games with the engine.
  32.  
  33. Compiler:
  34. Description: |
  35. Builds your game, written in [[EDL]], to a native language.
  36. Comprises:
  37. - Definitions Parser
  38. - Parser
  39. - Language Adapter
  40.  
  41. Definitions Parser:
  42. Description: |
  43. Any mechanism which operates on the [[Engine]] source code to generate
  44. [[native definitions]] objects for use by the [[Parser]].
  45. Comprises:
  46. - JustDefineIt
  47. Produces:
  48. - Native definitions
  49.  
  50. JDI:
  51. Synonym: JustDefineIt
  52.  
  53. JustDefineIt:
  54. Description: |
  55. The framework on which the ENIGMA compiler is built. Used to represent
  56. definitions harvested from the engine code, in order to interpret
  57. users' [[EDL]] code.
  58. Comprises:
  59. - JDI::Context
  60. - C++ Parser
  61.  
  62. C++ Parser:
  63. Instance of: Definitions parser
  64. Description: |
  65. The JustDefineIt storage hierarchy was designed around parsing C++
  66. code. JDI provides a full C++ parser which is used by the C++
  67. [[Language Adapter]] to enumerate functions and data types declared
  68. in ENIGMA's [[engine]]. Only those types and functions declared in
  69. namespace `enigma_user` are considered.
  70. Produces:
  71. - C++ Definitions
  72.  
  73. C++ Definitions:
  74. Instance of: Native definitions
  75. Description: |
  76. Native definitions pulled from the [[C++ engine]], as read in by the
  77. [[C++ parser]]. These are likely to include many data types
  78. representing actual C++ structures and classes, and functions
  79. corresponding to actual C++ function overloads.
  80.  
  81. Parser:
  82. Description: |
  83. ENIGMA's parser is a native-language-insensitive mechanism which
  84. interprets [[EDL]] code and builds abstract information about it.
  85. Comprises:
  86. - EDL Lexer
  87. Requires:
  88. - Native Definitions
  89. Produces:
  90. - EDL AST
  91. - Object usage graph
  92.  
  93. Native Definitions:
  94. Description: |
  95. Classes (defined in [[JDI]]) denoting functions and data types
  96. available in user code, as supported by the [[engine]] of the current
  97. language.
  98.  
  99. Language Adapter:
  100. Description: |
  101. Enables the compiler to interface with and export to a particular
  102. language.
  103. Comprises:
  104. - Code Generator
  105. - Definitions Parser
  106.  
  107. Code Generator:
  108. Description: |
  109. Outputs used code from the parser into the native language meant to be
  110. compiled further or run on the system.
  111. Requires:
  112. - EDL AST
  113. - Object usage graph
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement