single craqte

This commit is contained in:
nora 2023-03-04 11:30:53 +01:00
parent ff78ae710b
commit 2fd78566a3
25 changed files with 36 additions and 64 deletions

View file

@ -0,0 +1,15 @@
---
source: src/lexer.rs
expression: tokens
---
[
Ident(
"hello",
),
Ident(
"w_world",
),
Ident(
"b235_",
),
]

View file

@ -0,0 +1,14 @@
---
source: src/lexer.rs
expression: tokens
---
[
Struct,
Fn,
Dot,
If,
Else,
While,
Loop,
Semi,
]

View file

@ -0,0 +1,18 @@
---
source: src/lexer.rs
expression: tokens
---
[
String(
"\"hello friend\"",
),
Integer(
"5",
),
String(
"\"morning\"",
),
Integer(
"3263475",
),
]

View file

@ -0,0 +1,33 @@
---
source: src/lexer.rs
expression: tokens
---
[
BraceO,
BraceC,
BracketO,
BracketC,
ParenO,
ParenC,
Dot,
Comma,
Semi,
Eq,
EqEq,
BangEq,
GreaterEq,
LessEq,
Less,
Greater,
Plus,
Minus,
Asterisk,
Slash,
Or,
OrOr,
Ampersand,
AndAnd,
Caret,
Arrow,
Colon,
]

View file

@ -0,0 +1,8 @@
---
source: src/lexer.rs
expression: tokens
---
[
Dot,
Dot,
]

View file

@ -0,0 +1,65 @@
---
source: src/parser.rs
expression: r
---
(
Some(
File {
name: "ub__parser__tests",
items: [
FnDecl(
FnDecl {
name: "main",
params: [],
ret_ty: None,
id: NodeId(
6,
),
span: 0..20,
body: [
Expr(
Expr {
kind: BinOp(
BinOp {
kind: Add,
lhs: Expr {
kind: Literal(
Integer(
1,
12..13,
),
),
id: NodeId(
3,
),
span: 12..13,
},
rhs: Expr {
kind: Literal(
Integer(
4,
16..17,
),
),
id: NodeId(
4,
),
span: 16..17,
},
span: 12..17,
},
),
id: NodeId(
5,
),
span: 12..17,
},
),
],
},
),
],
},
),
[],
)

View file

@ -0,0 +1,97 @@
---
source: src/parser.rs
expression: r
---
(
Some(
File {
name: "ub__parser__tests",
items: [
FnDecl(
FnDecl {
name: "main",
params: [],
ret_ty: None,
id: NodeId(
12,
),
span: 0..32,
body: [
Expr(
Expr {
kind: BinOp(
BinOp {
kind: Add,
lhs: Expr {
kind: BinOp(
BinOp {
kind: Div,
lhs: Expr {
kind: Literal(
Integer(
4,
13..14,
),
),
id: NodeId(
6,
),
span: 13..14,
},
rhs: Expr {
kind: Call(
Call {
callee: Expr {
kind: Name(
"hallo",
),
id: NodeId(
7,
),
span: 17..22,
},
args: [],
},
),
id: NodeId(
8,
),
span: 17..22,
},
span: 13..22,
},
),
id: NodeId(
9,
),
span: 13..22,
},
rhs: Expr {
kind: Literal(
Integer(
5,
28..29,
),
),
id: NodeId(
10,
),
span: 28..29,
},
span: 13..29,
},
),
id: NodeId(
11,
),
span: 13..29,
},
),
],
},
),
],
},
),
[],
)

View file

@ -0,0 +1,70 @@
---
source: src/parser.rs
expression: r
---
(
Some(
File {
name: "ub__parser__tests",
items: [
FnDecl(
FnDecl {
name: "foo",
params: [],
ret_ty: Some(
Ty {
span: 12..15,
kind: U64,
},
),
id: NodeId(
6,
),
span: 0..26,
body: [
Expr(
Expr {
kind: BinOp(
BinOp {
kind: Add,
lhs: Expr {
kind: Literal(
Integer(
1,
18..19,
),
),
id: NodeId(
3,
),
span: 18..19,
},
rhs: Expr {
kind: Literal(
Integer(
5,
22..23,
),
),
id: NodeId(
4,
),
span: 22..23,
},
span: 18..23,
},
),
id: NodeId(
5,
),
span: 18..23,
},
),
],
},
),
],
},
),
[],
)

View file

@ -0,0 +1,53 @@
---
source: src/parser.rs
expression: r
---
(
Some(
File {
name: "ub__parser__tests",
items: [
FnDecl(
FnDecl {
name: "foo",
params: [],
ret_ty: Some(
Ty {
span: 12..15,
kind: U64,
},
),
id: NodeId(
1,
),
span: 0..39,
body: [
IfStmt(
IfStmt {
cond: Expr {
kind: Name(
"false",
),
id: NodeId(
0,
),
span: 21..26,
},
body: [],
else_part: Some(
Else(
[],
35..37,
),
),
span: 18..37,
},
),
],
},
),
],
},
),
[],
)

View file

@ -0,0 +1,48 @@
---
source: src/parser.rs
expression: r
---
(
Some(
File {
name: "ub__parser__tests",
items: [
FnDecl(
FnDecl {
name: "foo",
params: [],
ret_ty: Some(
Ty {
span: 12..15,
kind: U64,
},
),
id: NodeId(
1,
),
span: 0..31,
body: [
IfStmt(
IfStmt {
cond: Expr {
kind: Name(
"false",
),
id: NodeId(
0,
),
span: 21..26,
},
body: [],
else_part: None,
span: 18..29,
},
),
],
},
),
],
},
),
[],
)

View file

@ -0,0 +1,47 @@
---
source: src/parser.rs
expression: r
---
(
Some(
File {
name: "ub__parser__tests",
items: [
StructDecl(
StructDecl {
name: "X",
fields: [
NameTyPair {
name: "y",
ty: Ty {
span: 14..17,
kind: U64,
},
id: NodeId(
0,
),
span: 11..17,
},
NameTyPair {
name: "x",
ty: Ty {
span: 22..25,
kind: U64,
},
id: NodeId(
1,
),
span: 19..25,
},
],
id: NodeId(
2,
),
span: 0..0,
},
),
],
},
),
[],
)

View file

@ -0,0 +1,96 @@
---
source: src/parser.rs
expression: r
---
(
Some(
File {
name: "ub__parser__tests",
items: [
FnDecl(
FnDecl {
name: "types",
params: [],
ret_ty: Some(
Ty {
span: 14..21,
kind: Ptr(
Ty {
span: 18..21,
kind: U64,
},
),
},
),
id: NodeId(
2,
),
span: 0..68,
body: [
VarDecl(
VarDecl {
name: "test",
ty: Some(
Ty {
span: 34..38,
kind: Name(
"Test",
),
},
),
rhs: Some(
Expr {
kind: Literal(
Integer(
2,
41..42,
),
),
id: NodeId(
0,
),
span: 41..42,
},
),
span: 0..0,
},
),
VarDecl(
VarDecl {
name: "int",
ty: Some(
Ty {
span: 53..60,
kind: Ptr(
Ty {
span: 57..60,
kind: U64,
},
),
},
),
rhs: Some(
Expr {
kind: Literal(
Integer(
25,
63..65,
),
),
id: NodeId(
1,
),
span: 63..65,
},
),
span: 0..0,
},
),
],
},
),
],
},
),
[],
)

View file

@ -0,0 +1,203 @@
---
source: src/parser.rs
expression: r
---
(
Some(
File {
name: "ub__parser__tests",
items: [
FnDecl(
FnDecl {
name: "main",
params: [],
ret_ty: None,
id: NodeId(
28,
),
span: 0..63,
body: [
Expr(
Expr {
kind: UnaryOp(
UnaryOp {
expr: Expr {
kind: UnaryOp(
UnaryOp {
expr: Expr {
kind: Literal(
Integer(
5,
19..20,
),
),
id: NodeId(
3,
),
span: 19..20,
},
kind: Deref,
span: 19..20,
},
),
id: NodeId(
4,
),
span: 19..20,
},
kind: Neg,
span: 19..20,
},
),
id: NodeId(
5,
),
span: 19..20,
},
),
Expr(
Expr {
kind: UnaryOp(
UnaryOp {
expr: Expr {
kind: Literal(
Integer(
5,
28..29,
),
),
id: NodeId(
8,
),
span: 28..29,
},
kind: AddrOf,
span: 28..29,
},
),
id: NodeId(
9,
),
span: 28..29,
},
),
Expr(
Expr {
kind: BinOp(
BinOp {
kind: Add,
lhs: Expr {
kind: Literal(
Integer(
2,
35..36,
),
),
id: NodeId(
14,
),
span: 35..36,
},
rhs: Expr {
kind: UnaryOp(
UnaryOp {
expr: Expr {
kind: Literal(
Integer(
8,
40..41,
),
),
id: NodeId(
15,
),
span: 40..41,
},
kind: AddrOf,
span: 40..41,
},
),
id: NodeId(
16,
),
span: 40..41,
},
span: 35..41,
},
),
id: NodeId(
17,
),
span: 35..41,
},
),
Expr(
Expr {
kind: BinOp(
BinOp {
kind: Mul,
lhs: Expr {
kind: UnaryOp(
UnaryOp {
expr: Expr {
kind: Literal(
Integer(
6,
48..49,
),
),
id: NodeId(
23,
),
span: 48..49,
},
kind: Deref,
span: 48..49,
},
),
id: NodeId(
24,
),
span: 48..49,
},
rhs: Expr {
kind: UnaryOp(
UnaryOp {
expr: Expr {
kind: Literal(
Integer(
8,
53..54,
),
),
id: NodeId(
25,
),
span: 53..54,
},
kind: Deref,
span: 53..54,
},
),
id: NodeId(
26,
),
span: 53..54,
},
span: 48..54,
},
),
id: NodeId(
27,
),
span: 48..54,
},
),
],
},
),
],
},
),
[],
)

View file

@ -0,0 +1,100 @@
---
source: src/parser.rs
expression: r
---
(
Some(
File {
name: "ub__parser__tests",
items: [
FnDecl(
FnDecl {
name: "foo",
params: [],
ret_ty: Some(
Ty {
span: 12..15,
kind: U64,
},
),
id: NodeId(
2,
),
span: 0..80,
body: [
VarDecl(
VarDecl {
name: "hello",
ty: Some(
Ty {
span: 29..32,
kind: U64,
},
),
rhs: Some(
Expr {
kind: Literal(
Integer(
5,
35..36,
),
),
id: NodeId(
0,
),
span: 35..36,
},
),
span: 0..0,
},
),
VarDecl(
VarDecl {
name: "owo",
ty: None,
rhs: Some(
Expr {
kind: Literal(
Integer(
0,
48..49,
),
),
id: NodeId(
1,
),
span: 48..49,
},
),
span: 0..0,
},
),
VarDecl(
VarDecl {
name: "nice",
ty: Some(
Ty {
span: 61..64,
kind: U64,
},
),
rhs: None,
span: 0..0,
},
),
VarDecl(
VarDecl {
name: "nothing",
ty: None,
rhs: None,
span: 0..0,
},
),
],
},
),
],
},
),
[],
)

View file

@ -0,0 +1,47 @@
---
source: src/parser.rs
expression: r
---
(
Some(
File {
name: "ub__parser__tests",
items: [
FnDecl(
FnDecl {
name: "foo",
params: [],
ret_ty: Some(
Ty {
span: 12..15,
kind: U64,
},
),
id: NodeId(
1,
),
span: 0..34,
body: [
WhileStmt(
WhileStmt {
cond: Expr {
kind: Name(
"false",
),
id: NodeId(
0,
),
span: 24..29,
},
body: [],
span: 18..32,
},
),
],
},
),
],
},
),
[],
)