This commit is contained in:
nora 2022-07-04 08:58:30 +02:00
parent 1d56ed5dac
commit be1305bbb8
5 changed files with 32 additions and 52 deletions

View file

@ -3,40 +3,10 @@
== Deployment View == Deployment View
The code is available on GitHub (https://github.com/Nilstrieb/crapderive). The user will have to clone it and build it themselves.
To build and install crapderive, they can run the following command if they have Rust installed:
`cargo install --git https://github.com/Nilstrieb/crapderive`.
=== Infrastructure Level 1 === Installing Rust
To install Rust, visit https://www.rust-lang.org/tools/install.
_**<Overview Diagram>**_
Motivation::
_<explanation in text form>_
Quality and/or Performance Features::
_<explanation in text form>_
Mapping of Building Blocks to Infrastructure::
_<description of the mapping>_
=== Infrastructure Level 2
==== _<Infrastructure Element 1>_
_<diagram + explanation>_
==== _<Infrastructure Element 2>_
_<diagram + explanation>_
...
==== _<Infrastructure Element n>_
_<diagram + explanation>_

View file

@ -1,3 +1,26 @@
[[section-technical-risks]] [[section-technical-risks]]
== Risks and Technical Debts == Risks and Technical Debts
=== Cannot do IO
Due to time constraints, IO features might not be implemented.
==== Mitigations
Don't tell anyone.
==== Avoidance
Prioritize IO features highly.
=== The interpreter won't compile
The Rust compiler is very strict, making to possible for the interpreter to not compile.
==== Mitigations
Comment out the offending code. In the worse case, abuse https://github.com/rust-lang/rust/issues/98608.
==== Avoidance
Don't write code that doesn't compile. Follow the Rust borrowing rules.

View file

@ -11,8 +11,6 @@
use std::io::{Read, Write}; use std::io::{Read, Write};
use logos::Span;
use crate::{ use crate::{
error::Result, error::Result,
ir::{Place, Register, Stmt, Value}, ir::{Place, Register, Stmt, Value},

View file

@ -62,17 +62,6 @@ impl DebugPls for Stmt {
} }
} }
struct Testln {
field: (),
hallo: std::path::Path,
}
impl std::fmt::Debug for Testl {
fn fmt(&self, f: std::fmt::Formatter<'_> {
f.write_str("Testln")
}
}
#[derive(Debug, PartialEq, Eq, DebugPls)] #[derive(Debug, PartialEq, Eq, DebugPls)]
pub enum StmtKind { pub enum StmtKind {
Mov { to: Expr, from: Expr }, Mov { to: Expr, from: Expr },

View file

@ -41,7 +41,7 @@ Ok(
Stmt { Stmt {
kind: Je { kind: Je {
to: Expr { to: Expr {
kind: Name( kind: Symbol(
"true", "true",
), ),
span: 24..28, span: 24..28,
@ -52,7 +52,7 @@ Ok(
Stmt { Stmt {
kind: Jmp { kind: Jmp {
to: Expr { to: Expr {
kind: Name( kind: Symbol(
"false", "false",
), ),
span: 33..38, span: 33..38,
@ -69,7 +69,7 @@ Ok(
Stmt { Stmt {
kind: Jmp { kind: Jmp {
to: Expr { to: Expr {
kind: Name( kind: Symbol(
"exit", "exit",
), ),
span: 49..53, span: 49..53,
@ -108,7 +108,7 @@ Ok(
Stmt { Stmt {
kind: Jmp { kind: Jmp {
to: Expr { to: Expr {
kind: Name( kind: Symbol(
"false", "false",
), ),
span: 86..91, span: 86..91,