mirror of
https://github.com/Noratrieb/dilaria.git
synced 2026-01-14 09:25:02 +01:00
change name
This commit is contained in:
parent
ee01a9f5b5
commit
9019dc0295
73 changed files with 152 additions and 151 deletions
16
Cargo.lock
generated
16
Cargo.lock
generated
|
|
@ -21,6 +21,14 @@ dependencies = [
|
|||
"winapi",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "dilaria"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"insta",
|
||||
"rustc-hash",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "encode_unicode"
|
||||
version = "0.3.6"
|
||||
|
|
@ -112,14 +120,6 @@ version = "1.0.9"
|
|||
source = "registry+https://github.com/rust-lang/crates.io-index"
|
||||
checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
|
||||
|
||||
[[package]]
|
||||
name = "script_lang"
|
||||
version = "0.1.0"
|
||||
dependencies = [
|
||||
"insta",
|
||||
"rustc-hash",
|
||||
]
|
||||
|
||||
[[package]]
|
||||
name = "serde"
|
||||
version = "1.0.132"
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
[package]
|
||||
name = "script_lang"
|
||||
name = "dilaria"
|
||||
version = "0.1.0"
|
||||
edition = "2021"
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
There is currently a tree-walking interpreter called `bird` in progress, but the plan is to have a bytecode vm in the end
|
||||
`dilaria` is a small embeddable scripting language
|
||||
|
||||
language_name is a small embeddable scripting language
|
||||
|
||||
language_name is inspired by Javascript, Lox, Lua, Python, Rust and more
|
||||
It's inspired by Javascript, Lox, Lua, Python, Rust and more
|
||||
|
||||
# Reference
|
||||
|
||||
|
|
@ -121,7 +119,7 @@ loop {
|
|||
}
|
||||
```
|
||||
|
||||
_ is dynamically and *strongly* typed
|
||||
`dilaria` is dynamically and *strongly* typed
|
||||
|
||||
## Detail
|
||||
|
||||
|
|
@ -136,6 +134,7 @@ _ is dynamically and *strongly* typed
|
|||
`while`
|
||||
`for`
|
||||
`break`
|
||||
(`print` temporary)
|
||||
|
||||
#### Values
|
||||
`true`
|
||||
|
|
|
|||
|
|
@ -298,3 +298,7 @@ impl CompilerError for CompileError {
|
|||
self.note.clone()
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#[cfg(test)]
|
||||
mod test {}
|
||||
|
|
@ -2,7 +2,7 @@ fn main() {
|
|||
if let Some(filename) = std::env::args().nth(1) {
|
||||
match std::fs::read_to_string(filename) {
|
||||
Ok(contents) => {
|
||||
script_lang::run_program(&contents);
|
||||
dilaria::run_program(&contents);
|
||||
}
|
||||
Err(err) => {
|
||||
eprintln!("{}", err);
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 107
|
||||
assertion_line: 72
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 89
|
||||
assertion_line: 54
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 251
|
||||
assertion_line: 249
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 267
|
||||
assertion_line: 265
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 260
|
||||
assertion_line: 258
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 519
|
||||
assertion_line: 517
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 543
|
||||
assertion_line: 541
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 560
|
||||
assertion_line: 558
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 526
|
||||
assertion_line: 524
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 583
|
||||
assertion_line: 581
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 300
|
||||
assertion_line: 298
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 309
|
||||
assertion_line: 307
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 326
|
||||
assertion_line: 324
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 41
|
||||
assertion_line: 39
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 41
|
||||
assertion_line: 39
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 41
|
||||
assertion_line: 39
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 41
|
||||
assertion_line: 39
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 39
|
||||
expression: ast
|
||||
|
||||
---
|
||||
Literal(
|
||||
Number(
|
||||
10.0,
|
||||
Span {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 39
|
||||
expression: ast
|
||||
|
||||
---
|
||||
Literal(
|
||||
Number(
|
||||
10.0,
|
||||
Span {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 39
|
||||
expression: ast
|
||||
|
||||
---
|
||||
Literal(
|
||||
Number(
|
||||
10.0,
|
||||
Span {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 39
|
||||
expression: ast
|
||||
|
||||
---
|
||||
Literal(
|
||||
Number(
|
||||
10.0,
|
||||
Span {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 627
|
||||
assertion_line: 625
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 655
|
||||
assertion_line: 653
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 620
|
||||
assertion_line: 618
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 599
|
||||
assertion_line: 597
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 648
|
||||
assertion_line: 646
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 613
|
||||
assertion_line: 611
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 634
|
||||
assertion_line: 632
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 641
|
||||
assertion_line: 639
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 662
|
||||
assertion_line: 660
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 669
|
||||
assertion_line: 667
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 604
|
||||
expression: ast
|
||||
|
||||
---
|
||||
Literal(
|
||||
Number(
|
||||
10.0,
|
||||
Span {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 687
|
||||
assertion_line: 676
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 678
|
||||
assertion_line: 685
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 209
|
||||
assertion_line: 175
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 125
|
||||
assertion_line: 90
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 148
|
||||
assertion_line: 113
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 164
|
||||
assertion_line: 130
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 173
|
||||
assertion_line: 139
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 182
|
||||
assertion_line: 148
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 193
|
||||
assertion_line: 159
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 234
|
||||
assertion_line: 232
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 218
|
||||
assertion_line: 216
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 225
|
||||
assertion_line: 223
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 193
|
||||
assertion_line: 191
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 202
|
||||
assertion_line: 200
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 35
|
||||
assertion_line: 33
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 503
|
||||
assertion_line: 501
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 496
|
||||
assertion_line: 494
|
||||
expression: ast
|
||||
|
||||
---
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 41
|
||||
expression: ast
|
||||
|
||||
---
|
||||
Literal(
|
||||
Number(
|
||||
10.0,
|
||||
Span {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 41
|
||||
expression: ast
|
||||
|
||||
---
|
||||
Literal(
|
||||
Number(
|
||||
10.0,
|
||||
Span {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 41
|
||||
expression: ast
|
||||
|
||||
---
|
||||
Literal(
|
||||
Number(
|
||||
10.0,
|
||||
Span {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 41
|
||||
expression: ast
|
||||
|
||||
---
|
||||
Literal(
|
||||
Number(
|
||||
10.0,
|
||||
Span {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
---
|
||||
source: src/parse/test.rs
|
||||
assertion_line: 606
|
||||
expression: ast
|
||||
|
||||
---
|
||||
Literal(
|
||||
Number(
|
||||
10.0,
|
||||
Span {
|
||||
start: 0,
|
||||
end: 0,
|
||||
},
|
||||
),
|
||||
)
|
||||
|
|
@ -1,10 +1,10 @@
|
|||
use crate::errors::Span;
|
||||
use crate::parse::Parser;
|
||||
use prelude::*;
|
||||
|
||||
mod prelude {
|
||||
pub(super) use super::{parser, test_literal_bin_op, test_number_literal, token};
|
||||
pub(super) use crate::ast::{Expr, Stmt};
|
||||
pub(super) use crate::errors::Span;
|
||||
pub(super) use crate::lex::{
|
||||
Token,
|
||||
TokenType::{self, *},
|
||||
|
|
@ -28,15 +28,13 @@ fn parser(tokens: Vec<Token>) -> Parser {
|
|||
}
|
||||
|
||||
fn test_literal_bin_op<F: FnOnce(Vec<Token<'_>>) -> Expr>(token_type: TokenType, parser: F) {
|
||||
let tokens = [TokenType::Number(10.0), token_type, TokenType::Number(4.0)]
|
||||
.map(token)
|
||||
.into();
|
||||
let tokens = [Number(10.0), token_type, Number(4.0)].map(token).into();
|
||||
let ast = parser(tokens);
|
||||
insta::assert_debug_snapshot!(ast);
|
||||
}
|
||||
|
||||
fn test_number_literal<F: FnOnce(Vec<Token<'_>>) -> Expr>(parser: F) {
|
||||
let tokens = [TokenType::Number(10.0)].map(token).into();
|
||||
let tokens = [Number(10.0)].map(token).into();
|
||||
let ast = parser(tokens);
|
||||
insta::assert_debug_snapshot!(ast);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue