Kary
click on it...


Specification 2XII

Today Monodraw Beta was released (Yes great job guys). Also, I was working on a standard for Arendelle called Specification 2XII. The 2XII (Read it 2-12) is a document that explains everything about the behavior of Arendelle so the core developer who wants to develop a compiler for Arendelle know what to do. So I was testing Monodraw that I though how about creating a text-based diagram representation of a standard Arendelle engine. So I made this diagram here. Please notice that because of it’s ASCII art nature you have to read this page on your desktop or a tablet with screen width greater than 720 pixels.

┌────────────────────────────────────────────────────────────────────┐
│                                                                    │
│                      INTRO FOR SPECIFICATION                       │
│                 ___    __   __   ______  ______                    │
│               /'___`\ /\ \ /\ \ /\__  _\/\__  _\                   │
│              /\_\ /\ \\ `\`\/'/'\/_/\ \/\/_/\ \/                   │
│              \/_/// /__`\/ > <     \ \ \   \ \ \                   │
│                 // /_\ \  \/'/\`\   \_\ \__ \_\ \__                │
│                /\______/  /\_\\ \_\ /\_____\/\_____\               │
│                \/_____/   \/_/ \/_/ \/_____/\/_____/               │
│                                                                    │
│                                                                    │
└──────────┬─────────────────────────────────────────────────────────┘
           │                                                          
           │                                                          
           │        ┌─ LEXERS ───────────────────────────────────────┐
           │        │ ┌────────────┐  ┌────────────┐  ┌────────────┐ │
           │        │ │            │  │            │  │            │ │
           │        │ │            │  │            │  │            │ │
           │        │ │ OpenClose  │  │  One Part  │  │  Function  │ │
           │        │ │   Lexer    │  │   Lexer    │  │   Lexer    │ │
┌──────────┴──┐     │ │            │  │            │  │            │ │
│ Init Point  │     │ │            │  │            │  │            │ │
└──────────┬──┘     │ └────────────┘  └────────────┘  └────────────┘ │
           │        └──────────────────────────────────────────┬─────┘
           │                                 ┌───────────────┐ │      
           │        ┌────────────────────────┤               ├───────▣
           ▼        │                        │               │ │      
┌───────────────────┴───┐      ┌───┐         │  CodeScreen   │ │      
│                       │──────┤ 1 ├──────┐  │               │ │      
│      MasterEvak       │      └───┘      │  │               │ │      
│                       │◀──┐             ▼  └───────────────┘ │      
└──────────┬────────────┘   │   ┌──────────────────┐           │      
           │                │   │   Preprocessor   ├───────────┤      
           │                │   └─────────┬────────┘           │      
         ┌─┴─┐              │             │                    │      
         │ 2 │              │             │                    │      
         └─┬─┘              └─────────────┘   ┌────────────────┘      
    ▣      │                                  │                       
    │      ▼      ┌───────────────────────────┘ ┌────────────────────┐
 ┌──┴─────────────┴──┐                          │ ┌────────────────┐ │
 │                   ├─────────────────────────▶│ │    LoopEval    │ │
 │                   ├────────────┐             │ └────────────────┘ │
 │                   ├───────────┐│             │                    │
 │       EVAL        ├──────────┐││             │ ┌────────────────┐ │
 │                   │          ││└────────────▶│ │ ConditionEval  │ │
 │                   ├──────┐   ││              │ └────────────────┘ │
 │                   │      │   ││              │                    │
 └─────────┬─────────┘      │   ││              │ ┌────────────────┐ │
           │                │   │└─────────────▶│ │  FunctionEval  │ │
           ▼                │   │               │ └────────────────┘ │
 ┌───────────────────┐      │   │               │                    │
 │                   │      │   │               │ ┌────────────────┐ │
 │   Scope Garbage   │      │   └──────────────▶│ │   SpaceEval    │ │
 │     Collector     │      │                   │ └────────────────┘ │
 │                   │  ┌───┴────────────────┐  │                    │
 └───────────────────┘  │                    │  └─────┬─── ▲ ────────┘
                        │ EVAL Space Storage │        │    │          
                        │                    │        │    │          
                        └────────────────────┘        │    │          
                ┌─────────────────────────────────────┘    │          
                │                                          │          
   ┌────────┐   │                                          │          
 ┌─│MathEval│── │ ──────────────────────────────────────── │ ────────┐
 │ └────────┘   ▼                                          │         │
 │  ┌─────────────────────┐ ┌─────────────────────┐ ┌─────────────┐  │
 │  │                     │ │                     │ │             │  │
 │  │                     │ │                     │ │             │  │
 │  │                     │ │                     │ │             │  │
 │  │                     │     Math Compiler &   │               │  │
 │  │      Replacer       ├──▶     Evaluator      ├──▶  Wrapper   │  │
 │  │                     │                       │               │  │
 │  │                     │ │                     │ │             │  │
 │  │                     │ │                     │ │             │  │
 │  │                     │ │                     │ │             │  │
 │  └─────────────────────┘ └─────────────────────┘ └─────────────┘  │
 │                                                            ▲      │
 └─────────────────────────────────────────────────────────┬─ │ ─────┘
                                                           │  │       
                                                           │  │       
    ┌────────────────────────────┐                         │  │       
 ┌──│ Arendelle Side Math Tools  │──────────────────────── │ ─┴──────┐
 │  └────────────────────────────┘                         ▼         │
 │  ┌───────────────────┐                      ┌──────────────────┐  │
 │  │                   │                                         │  │
 │  │                   ├──────────────────────▶                  │  │
 │  │                   │                                         │  │
 │  │                   │  ┌────────────────┐  │                  │  │
 │  │Source Interpreter │  │                │  │   Time Wrapper   │  │
 │  │                   │                   │  │                  │  │
 │  │                   ├──▶ RND Generator  │  │                  │  │
 │  │                   │                   │  │                  │  │
 │  │                   │  │                │  │                  │  │
 │  └───────────────────┘  └────────────────┘  └──────────────────┘  │
 │                                                                   │
 └───────────────────────────────────────────────────────────────────┘
                                                                      
    ┌──────────────────┐                                              
 ┌──│  I/O Interface   │─────────────────────────────────────────────┐
 │  └──────────────────┘                                             │
 │  ┌─────────────────┐ ┌─────────────────────┐ ┌─────────────────┐  │
 │  │                 │ │  Stored Space       │ │                 │  │
 │  │                 │ │ ┌─────────────────┐ │ │                 │  │
 │  │                 │ │ │                 │ │ │                 │  │
 │  │                 │ │ │  Stored Space   │ │ │                 │  │
 │  │                 │ │ │Encode and Saver │ │ │                 │  │
 │  │ Arendelle File  │ │ │                 │ │ │ Function Loader │  │
 │  │ System Address  │ │ └─────────────────┘ │ │ and Initializer │  │
 │  │   Interpreter   │ │ ┌─────────────────┐ │ │                 │  │
 │  │                 │ │ │                 │ │ │                 │  │
 │  │                 │ │ │Stored Space Load│ │ │                 │  │
 │  │                 │ │ │   and Decoder   │ │ │                 │  │
 │  │                 │ │ │                 │ │ │                 │  │
 │  │                 │ │ └─────────────────┘ │ │                 │  │
 │  └─────────────────┘ └─────────────────────┘ └─────────────────┘  │
 │                                                                   │
 └───────────────────────────────────────────────────────────────────┘

NOTE: The lines that end with means they are connected and accessible by another thread.

Top of Stack!