change name

This commit is contained in:
nora 2021-12-30 12:03:55 +01:00
parent ee01a9f5b5
commit 9019dc0295
73 changed files with 152 additions and 151 deletions

16
Cargo.lock generated
View file

@ -21,6 +21,14 @@ dependencies = [
"winapi", "winapi",
] ]
[[package]]
name = "dilaria"
version = "0.1.0"
dependencies = [
"insta",
"rustc-hash",
]
[[package]] [[package]]
name = "encode_unicode" name = "encode_unicode"
version = "0.3.6" version = "0.3.6"
@ -112,14 +120,6 @@ version = "1.0.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f" checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
[[package]]
name = "script_lang"
version = "0.1.0"
dependencies = [
"insta",
"rustc-hash",
]
[[package]] [[package]]
name = "serde" name = "serde"
version = "1.0.132" version = "1.0.132"

View file

@ -1,5 +1,5 @@
[package] [package]
name = "script_lang" name = "dilaria"
version = "0.1.0" version = "0.1.0"
edition = "2021" edition = "2021"

View file

@ -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 It's inspired by Javascript, Lox, Lua, Python, Rust and more
language_name is inspired by Javascript, Lox, Lua, Python, Rust and more
# Reference # Reference
@ -121,7 +119,7 @@ loop {
} }
``` ```
_ is dynamically and *strongly* typed `dilaria` is dynamically and *strongly* typed
## Detail ## Detail
@ -136,6 +134,7 @@ _ is dynamically and *strongly* typed
`while` `while`
`for` `for`
`break` `break`
(`print` temporary)
#### Values #### Values
`true` `true`

View file

@ -298,3 +298,7 @@ impl CompilerError for CompileError {
self.note.clone() self.note.clone()
} }
} }
#[cfg(test)]
mod test {}

View file

@ -2,7 +2,7 @@ fn main() {
if let Some(filename) = std::env::args().nth(1) { if let Some(filename) = std::env::args().nth(1) {
match std::fs::read_to_string(filename) { match std::fs::read_to_string(filename) {
Ok(contents) => { Ok(contents) => {
script_lang::run_program(&contents); dilaria::run_program(&contents);
} }
Err(err) => { Err(err) => {
eprintln!("{}", err); eprintln!("{}", err);

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 107 assertion_line: 72
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 89 assertion_line: 54
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 251 assertion_line: 249
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 267 assertion_line: 265
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 260 assertion_line: 258
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 519 assertion_line: 517
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 543 assertion_line: 541
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 560 assertion_line: 558
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 526 assertion_line: 524
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 583 assertion_line: 581
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 300 assertion_line: 298
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 309 assertion_line: 307
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 326 assertion_line: 324
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 41 assertion_line: 39
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 41 assertion_line: 39
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 41 assertion_line: 39
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 41 assertion_line: 39
expression: ast expression: ast
--- ---

View file

@ -0,0 +1,15 @@
---
source: src/parse/test.rs
assertion_line: 39
expression: ast
---
Literal(
Number(
10.0,
Span {
start: 0,
end: 0,
},
),
)

View file

@ -0,0 +1,15 @@
---
source: src/parse/test.rs
assertion_line: 39
expression: ast
---
Literal(
Number(
10.0,
Span {
start: 0,
end: 0,
},
),
)

View file

@ -0,0 +1,15 @@
---
source: src/parse/test.rs
assertion_line: 39
expression: ast
---
Literal(
Number(
10.0,
Span {
start: 0,
end: 0,
},
),
)

View file

@ -0,0 +1,15 @@
---
source: src/parse/test.rs
assertion_line: 39
expression: ast
---
Literal(
Number(
10.0,
Span {
start: 0,
end: 0,
},
),
)

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 627 assertion_line: 625
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 655 assertion_line: 653
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 620 assertion_line: 618
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 599 assertion_line: 597
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 648 assertion_line: 646
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 613 assertion_line: 611
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 634 assertion_line: 632
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 641 assertion_line: 639
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 662 assertion_line: 660
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 669 assertion_line: 667
expression: ast expression: ast
--- ---

View file

@ -0,0 +1,15 @@
---
source: src/parse/test.rs
assertion_line: 604
expression: ast
---
Literal(
Number(
10.0,
Span {
start: 0,
end: 0,
},
),
)

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 687 assertion_line: 676
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 678 assertion_line: 685
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 209 assertion_line: 175
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 125 assertion_line: 90
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 148 assertion_line: 113
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 164 assertion_line: 130
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 173 assertion_line: 139
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 182 assertion_line: 148
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 193 assertion_line: 159
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 234 assertion_line: 232
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 218 assertion_line: 216
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 225 assertion_line: 223
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 193 assertion_line: 191
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 202 assertion_line: 200
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 35 assertion_line: 33
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 503 assertion_line: 501
expression: ast expression: ast
--- ---

View file

@ -1,6 +1,6 @@
--- ---
source: src/parse/test.rs source: src/parse/test.rs
assertion_line: 496 assertion_line: 494
expression: ast expression: ast
--- ---

View file

@ -1,15 +0,0 @@
---
source: src/parse/test.rs
assertion_line: 41
expression: ast
---
Literal(
Number(
10.0,
Span {
start: 0,
end: 0,
},
),
)

View file

@ -1,15 +0,0 @@
---
source: src/parse/test.rs
assertion_line: 41
expression: ast
---
Literal(
Number(
10.0,
Span {
start: 0,
end: 0,
},
),
)

View file

@ -1,15 +0,0 @@
---
source: src/parse/test.rs
assertion_line: 41
expression: ast
---
Literal(
Number(
10.0,
Span {
start: 0,
end: 0,
},
),
)

View file

@ -1,15 +0,0 @@
---
source: src/parse/test.rs
assertion_line: 41
expression: ast
---
Literal(
Number(
10.0,
Span {
start: 0,
end: 0,
},
),
)

View file

@ -1,15 +0,0 @@
---
source: src/parse/test.rs
assertion_line: 606
expression: ast
---
Literal(
Number(
10.0,
Span {
start: 0,
end: 0,
},
),
)

View file

@ -1,10 +1,10 @@
use crate::errors::Span;
use crate::parse::Parser; use crate::parse::Parser;
use prelude::*; use prelude::*;
mod prelude { mod prelude {
pub(super) use super::{parser, test_literal_bin_op, test_number_literal, token}; pub(super) use super::{parser, test_literal_bin_op, test_number_literal, token};
pub(super) use crate::ast::{Expr, Stmt}; pub(super) use crate::ast::{Expr, Stmt};
pub(super) use crate::errors::Span;
pub(super) use crate::lex::{ pub(super) use crate::lex::{
Token, Token,
TokenType::{self, *}, 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) { 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)] let tokens = [Number(10.0), token_type, Number(4.0)].map(token).into();
.map(token)
.into();
let ast = parser(tokens); let ast = parser(tokens);
insta::assert_debug_snapshot!(ast); insta::assert_debug_snapshot!(ast);
} }
fn test_number_literal<F: FnOnce(Vec<Token<'_>>) -> Expr>(parser: F) { 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); let ast = parser(tokens);
insta::assert_debug_snapshot!(ast); insta::assert_debug_snapshot!(ast);
} }