mirror of
https://github.com/Noratrieb/crapderive.git
synced 2026-01-14 16:45:08 +01:00
d
o c
This commit is contained in:
parent
8d03964f76
commit
f7e862a8fd
6 changed files with 50 additions and 100 deletions
|
|
@ -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[]
|
||||
|
|
|
|||
|
|
@ -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
|
||||
----
|
||||
----
|
||||
|
|
|
|||
|
|
@ -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>_
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue