o
c
This commit is contained in:
nora 2022-07-04 12:44:40 +02:00
parent 8d03964f76
commit f7e862a8fd
6 changed files with 50 additions and 100 deletions

View file

@ -25,9 +25,6 @@ endif::backend-html5[]
// configure EN settings for asciidoc
include::src/config.adoc[]
include::src/about-arc42.adoc[]
// horizontal line
***
@ -86,3 +83,6 @@ include::src/11_technical_risks.adoc[]
include::src/12_glossary.adoc[]
***
include::src/about-arc42.adoc[]

View file

@ -6,7 +6,7 @@
|Quality Goal|Approaches
|Ease of implementation| Simple language with not too many features. Many features out of scope, like static data.
|Interpreter UX|Keeping track of source locations throughout the compilation/interpretation process, usage of the crate `ariadne` (https://crates.io/crates/ariadne) for displaying diagnostics.
|Performance|Written in the native compiled language. Internally, the AST is compiled into a lower level IR, where jump labels are resolved to instruction offsets.
|Performance|Written in a native compiled language (Rust). Internally, the AST is compiled into a lower level IR, where jump labels are resolved to instruction offsets, and span information is kept separately to improve cache locality.
|===
[plantuml]
@ -14,4 +14,4 @@
[Compiler] --> [Interpreter] : Resolve labels
[Ariadne] --> [Output] : Diagnostics
----
----

View file

@ -28,51 +28,3 @@ The compiler compiles the AST into the IR, resolving labels.
==== Interpreter `interpret.rs`
The interpreter interprets the IR and interacts with the outside world through standard input and output.
=== Level 2
==== White Box _<building block 1>_
_<white box template>_
==== White Box _<building block 2>_
_<white box template>_
...
==== White Box _<building block m>_
_<white box template>_
=== Level 3
==== White Box <_building block x.1_>
_<white box template>_
==== White Box <_building block x.2_>
_<white box template>_
==== White Box <_building block y.1_>
_<white box template>_