COMPONENTS (1981B)
1 What Comprises of 'Language' 2 Detailed List of What is Contained Within thereof. 3 4 OVERVIEW 5 6 This document covers individual, trackable, and testable components within 7 the project. The list is as follows: 8 9 Virtual Machine: 10 11 - Instruction interpreter 12 * Reading bytecode 13 * Handling instructions in memory 14 * Interpreting bytecode arguements 15 16 - Instruction opcode definitions/Instruction metadata 17 * Translate meaningless bytes into action 18 * Provide O(1) instruction metadata retrieval 19 20 - Provide interface for runtime variables 21 * Implement primitive data types 22 * Allocate resources for runtime variables 23 24 - Implementing a F.I.L.O. data structure (stack) that extends runtime variables 25 * Push & pop variables on the data structure 26 * Push & pop 'level's of the stack 27 * Communicate & manage instances of semaphores to thread manager 28 29 - Namespace implemenataion 30 * Global, local (traced) namespaces 31 * Handles memory deallocation 32 * Communicate instances of semaphores to thread manager 33 34 - Threading wrapper/Threading manager 35 * Set up thread pool 36 * Handle calls to initialize new threads 37 * Handle thread safe variables 38 39 - Runtime manager 40 * Provide program counter 41 * Iterate over bytecode, interpret arguements 42 * Handle initailzation of various runtime dependencies 43 * Provide interface to built-in functions 44 45 Compiler: 46 47 Currently how the compiler will operate will change as the runtime develops. 48 49 Once the Virtual Machine meets the minimum requirements of implemented features, 50 the compiler will be drafted, prototyped, and implemented in bytecode. Once this 51 step is complete, further development will happen in the next step. 52 53 Standard Library/Libraries in general: 54 55 The standard library will be a reflection of the langauges capabilitiy, and 56 the functionality of existing standard libraries. 57 58 59 IN SUMNATION 60 61 A sumnation of a sumnation of what is contained within the 'Language'.