Commit ec431c7f authored by lisajonsson's avatar lisajonsson
Browse files

Everything but inplicit returns work

parent 8c3cadab
......@@ -27,6 +27,8 @@ pub enum Type {
#[derive(Debug)]
pub enum Expr {
Negativeexpr(Box<Expr>),
Notexpr(Box<Expr>),
Funccall(String, Vec<Box<Expr>>),
Bool(bool),
Number(i32),
......@@ -189,6 +191,8 @@ impl fmt::Display for Type {
impl fmt::Display for Expr {
fn fmt (&self, f: &mut fmt::Formatter) -> fmt::Result {
match self {
Expr::Negativeexpr(expr) => write!(f, "- {}", expr),
Expr::Notexpr(expr) => write!(f, "! {}", expr),
Expr::Funccall(id, args) => write!(f, "{}({:?})", id, args),
Expr::Bool(b) => write!(f, "{}", b),
Expr::Number(i) => write!(f, "{}", i),
......
......@@ -7,6 +7,8 @@ pub mod ast;
fn main() {
// Klarar allt förutom "5" returns
}
#[test]
......@@ -106,6 +108,53 @@ fn part_test1() {
assert_eq!(&format!("{}", fuc), &s);
}
#[test]
fn minus_test(){
let minus = parser::ProgramParser::new().parse("
fn c(x: i32, y: i32) -> i32 {
let a: i32 = 5;
let b: i32 = x + y; // this will be an infix operator \"+\"
return -a - (-b) * y; // here we have prefix operator \"-\"
}").unwrap();
let s = "
fn c(x: i32, y: i32) -> i32 {
let a: i32 = 5;
let b: i32 = x + y; // this will be an infix operator \"+\"
return -a - (-b) * y; // here we have prefix operator \"-\"
}";
assert_eq!(&format!("{}", minus), &s);
}
#[test]
fn wat_test() {
let wat = parser::ProgramParser::new().parse("
// a function taking two bool arguments returning the bool type
// with some let statements and function calls
fn a(x: bool, y: bool) -> bool {
if x && y {
let a: bool = true;
return y || a;
} else {
return x && false;
}
}").unwrap();
let s = "
// a function taking two bool arguments returning the bool type
// with some let statements and function calls
fn a(x: bool, y: bool) -> bool {
if x && y {
let a: bool = true;
return y || a;
} else {
return x && false;
}
}";
assert_eq!(&format!("{}", wat), &s)
}
#[test]
fn prog_test() {
let prg = parser::ProgramParser::new().parse("
......@@ -151,12 +200,12 @@ fn prog_test() {
let a: bool = true; // shadowing
if y || a {
b = b + 1;
};
} ;
} else {
if !(x && false) {
b = b - 1;
}
};
} ;
return b + 3;
}
......
......@@ -14,7 +14,7 @@ match {
r"//[^\n\r]*" => { },
// Skip `/* comments */`
r"/\*([^\*]*\*+[^\*/])*([^\*]*\*+|[^\*])*\*/" => { },
_
_
}
......@@ -33,14 +33,14 @@ pub Let: Box<Statement> = {
};
pub If: Box<Statement> = {
"if" <expr: Expr> "{" <body: Statement>"}" <else_body:("else""{" <Statement> "}")?> => Box::new(Statement::If(expr, body, else_body)),
"if" <expr: Expr> <body: Block> <else_body:("else" <Block>)?> => Box::new(Statement::If(expr, body, else_body)),
//"if" <expr: Expr> <body: Block> ";" <else_body:("else" <Block>)?> ";" => Box::new(Statement::If(expr, body, else_body)),
// "if" <expr: Expr> "{" <ifBody: Statement> "}" "else" <elseBody: Statement> =>
// Box::new(Statement::If(expr, ifBody, elseBody)),
};
pub While: Box<Statement> = {
"while" <run_condition: Expr> <body: Statement> =>
"while" <run_condition: Expr> <body: Block> =>
Box::new(Statement::While(run_condition, body)),
};
......@@ -66,7 +66,7 @@ pub Return: Box<Statement> = {
};
pub Block: Box<Statement> = {
"{" <statements: Statement*> "}" => Box::new(Statement::Block(statements)),
"{" <statements: Statement*> "}" ";"? => Box::new(Statement::Block(statements)),
};
pub Assign: Box<Statement> = {
......@@ -96,7 +96,11 @@ pub Type: Type = {
"bool" => Type::Bool,
};
pub Expr: Box<Expr> = {
Expr ExprOp Factor => Box::new(Expr::Op(<>)),
Expr RelationalOp Factor => Box::new(Expr::Op(<>)),
Expr LogicalOp Factor => Box::new(Expr::Op(<>)),
......@@ -104,8 +108,10 @@ pub Expr: Box<Expr> = {
};
Term: Box<Expr> = {
"-" <Term> => Box::new(Expr::Negativeexpr(<>)), // !a()
"!" <Term> => Box::new(Expr::Notexpr(<>)),
<id: Id> "(" <args: Exprs> ")" => Box::new(Expr::Funccall(id, args)),
<id: Id> "()" => Box::new(Expr::Funccall(id, Vec::new()),
<id: Id> "()" => Box::new(Expr::Funccall(id, Vec::new())),
Num => Box::new(Expr::Number(<>)),
Id => Box::new(Expr::Id(<>)),
Bool => Box::new(Expr::Bool(<>)),
......
{"rustc":7210524046684111384,"features":"","target":0,"profile":0,"path":0,"deps":[[8570597505840913231,"build_script_build",false,2170575339381035772]],"local":[{"Precalculated":"1600356603.408000000s (/home/lisa/Documents/kompilator/target/debug/.fingerprint/kompilator-87e6eccee2ab2291/test-bin-ast)"}],"rustflags":[],"metadata":0,"config":0}
\ No newline at end of file
{"rustc":7210524046684111384,"features":"","target":0,"profile":0,"path":0,"deps":[[8570597505840913231,"build_script_build",false,2170575339381035772]],"local":[{"Precalculated":"1601026145.552000000s (/home/lisa/Documents/kompilator/target/debug/.fingerprint/kompilator-1c765a04eb88d0f0/bin-comments)"}],"rustflags":[],"metadata":0,"config":0}
\ No newline at end of file
43c9eee46f7be9c7
\ No newline at end of file
6aa0e628120faa89
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":15818561653965056890,"profile":1613559695681135254,"path":9083390247940494337,"deps":[[2467173068272650400,"lalrpop_util",false,10257277995597551216],[8570597505840913231,"build_script_build",false,14893610569707215603],[10798631036892155566,"regex",false,8757467439669749159]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-1c765a04eb88d0f0/dep-bin-comments"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":15818561653965056890,"profile":1613559695681135254,"path":9083390247940494337,"deps":[[2467173068272650400,"lalrpop_util",false,10257277995597551216],[8570597505840913231,"build_script_build",false,14445801416023921943],[10798631036892155566,"regex",false,8757467439669749159]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-1c765a04eb88d0f0/dep-bin-comments"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":1768843859700581353,"profile":10655494245791646288,"path":4185957120365226701,"deps":[[2467173068272650400,"lalrpop_util",false,7886853014596873679],[8570597505840913231,"build_script_build",false,4206630885052160211],[10798631036892155566,"regex",false,16476667495562437109]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-36df3d38850214ba/dep-test-bin-minimal"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":1768843859700581353,"profile":10655494245791646288,"path":4185957120365226701,"deps":[[2467173068272650400,"lalrpop_util",false,7886853014596873679],[8570597505840913231,"build_script_build",false,18310180489256637450],[10798631036892155566,"regex",false,16476667495562437109]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-36df3d38850214ba/dep-test-bin-minimal"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
db8b5c2fd72dfbb5
\ No newline at end of file
35ee51504d6258de
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":15818561653965056890,"profile":8341259748240011191,"path":9083390247940494337,"deps":[[2467173068272650400,"lalrpop_util",false,10257277995597551216],[8570597505840913231,"build_script_build",false,14893610569707215603],[10798631036892155566,"regex",false,8757467439669749159]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-3e80b7b21bd10797/dep-test-bin-comments"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":15818561653965056890,"profile":8341259748240011191,"path":9083390247940494337,"deps":[[2467173068272650400,"lalrpop_util",false,10257277995597551216],[8570597505840913231,"build_script_build",false,14445801416023921943],[10798631036892155566,"regex",false,8757467439669749159]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-3e80b7b21bd10797/dep-test-bin-comments"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
f2614df4ed450108
\ No newline at end of file
5e97cc36d0c55f48
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":2597462886934658232,"profile":8341259748240011191,"path":1036222786711178230,"deps":[[2467173068272650400,"lalrpop_util",false,10257277995597551216],[8570597505840913231,"build_script_build",false,14893610569707215603],[10798631036892155566,"regex",false,8757467439669749159]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-4712be093cd259c4/dep-test-bin-kompilator"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":2597462886934658232,"profile":8341259748240011191,"path":1036222786711178230,"deps":[[2467173068272650400,"lalrpop_util",false,10257277995597551216],[8570597505840913231,"build_script_build",false,14445801416023921943],[10798631036892155566,"regex",false,8757467439669749159]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-4712be093cd259c4/dep-test-bin-kompilator"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
{"message":"unused import: `parser::*`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/ast/main.rs","byte_start":81,"byte_end":90,"line_start":5,"line_end":5,"column_start":5,"column_end":14,"is_primary":true,"text":[{"text":"use parser::*;","highlight_start":5,"highlight_end":14}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"`#[warn(unused_imports)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/ast/main.rs","byte_start":77,"byte_end":91,"line_start":5,"line_end":5,"column_start":1,"column_end":15,"is_primary":true,"text":[{"text":"use parser::*;","highlight_start":1,"highlight_end":15}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `parser::*`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ast/main.rs:5:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m5\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse parser::*;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_imports)]` on by default\u001b[0m\n\n"}
{"message":"unused import: `fmt::Error`","code":{"code":"unused_imports","explanation":null},"level":"warning","spans":[{"file_name":"src/ast/ast.rs","byte_start":19,"byte_end":29,"line_start":3,"line_end":3,"column_start":5,"column_end":15,"is_primary":true,"text":[{"text":"use fmt::Error;","highlight_start":5,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"remove the whole `use` item","code":null,"level":"help","spans":[{"file_name":"src/ast/ast.rs","byte_start":15,"byte_end":30,"line_start":3,"line_end":3,"column_start":1,"column_end":16,"is_primary":true,"text":[{"text":"use fmt::Error;","highlight_start":1,"highlight_end":16}],"label":null,"suggested_replacement":"","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused import: `fmt::Error`\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ast/ast.rs:3:5\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m3\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0muse fmt::Error;\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^\u001b[0m\n\n"}
{"message":"unused `std::result::Result` that must be used","code":{"code":"unused_must_use","explanation":null},"level":"warning","spans":[{"file_name":"/home/lisa/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/macros/mod.rs","byte_start":13999,"byte_end":14045,"line_start":415,"line_end":415,"column_start":34,"column_end":80,"is_primary":true,"text":[{"text":" ($dst:expr, $($arg:tt)*) => ($dst.write_fmt($crate::format_args!($($arg)*)))","highlight_start":34,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/ast/ast.rs","byte_start":3996,"byte_end":4011,"line_start":146,"line_end":146,"column_start":17,"column_end":32,"is_primary":false,"text":[{"text":" write!(f, \")\");","highlight_start":17,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"write!","def_site_span":{"file_name":"/home/lisa/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/macros/mod.rs","byte_start":13945,"byte_end":14048,"line_start":414,"line_end":416,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! write {","highlight_start":1,"highlight_end":21},{"text":" ($dst:expr, $($arg:tt)*) => ($dst.write_fmt($crate::format_args!($($arg)*)))","highlight_start":1,"highlight_end":81},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"`#[warn(unused_must_use)]` on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"this `Result` may be an `Err` variant, which should be handled","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused `std::result::Result` that must be used\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ast/ast.rs:146:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m146\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m write!(f, \")\");\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: `#[warn(unused_must_use)]` on by default\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this `Result` may be an `Err` variant, which should be handled\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"}
{"message":"unused `std::result::Result` that must be used","code":{"code":"unused_must_use","explanation":null},"level":"warning","spans":[{"file_name":"/home/lisa/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/macros/mod.rs","byte_start":13999,"byte_end":14045,"line_start":415,"line_end":415,"column_start":34,"column_end":80,"is_primary":true,"text":[{"text":" ($dst:expr, $($arg:tt)*) => ($dst.write_fmt($crate::format_args!($($arg)*)))","highlight_start":34,"highlight_end":80}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"src/ast/ast.rs","byte_start":4147,"byte_end":4170,"line_start":151,"line_end":151,"column_start":17,"column_end":40,"is_primary":false,"text":[{"text":" write!(f, \" {}\", body);","highlight_start":17,"highlight_end":40}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"write!","def_site_span":{"file_name":"/home/lisa/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/src/libcore/macros/mod.rs","byte_start":13945,"byte_end":14048,"line_start":414,"line_end":416,"column_start":1,"column_end":2,"is_primary":false,"text":[{"text":"macro_rules! write {","highlight_start":1,"highlight_end":21},{"text":" ($dst:expr, $($arg:tt)*) => ($dst.write_fmt($crate::format_args!($($arg)*)))","highlight_start":1,"highlight_end":81},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"this `Result` may be an `Err` variant, which should be handled","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: unused `std::result::Result` that must be used\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m--> \u001b[0m\u001b[0msrc/ast/ast.rs:151:17\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m\u001b[1m\u001b[38;5;12m151\u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m write!(f, \" {}\", body);\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m| \u001b[0m\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[33m^^^^^^^^^^^^^^^^^^^^^^^\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m|\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this `Result` may be an `Err` variant, which should be handled\u001b[0m\n\u001b[0m \u001b[0m\u001b[0m\u001b[1m\u001b[38;5;12m= \u001b[0m\u001b[0m\u001b[1mnote\u001b[0m\u001b[0m: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)\u001b[0m\n\n"}
{"message":"4 warnings emitted","code":null,"level":"warning","spans":[],"children":[],"rendered":"\u001b[0m\u001b[1m\u001b[33mwarning\u001b[0m\u001b[0m\u001b[1m: 4 warnings emitted\u001b[0m\n\n"}
{"rustc":7210524046684111384,"features":"[]","target":9977386531240565237,"profile":10655494245791646288,"path":10610524877775656944,"deps":[[2467173068272650400,"lalrpop_util",false,7886853014596873679],[8570597505840913231,"build_script_build",false,5562316881873406939],[10798631036892155566,"regex",false,16476667495562437109]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-87e6eccee2ab2291/dep-test-bin-ast"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":9977386531240565237,"profile":10655494245791646288,"path":10610524877775656944,"deps":[[2467173068272650400,"lalrpop_util",false,7886853014596873679],[8570597505840913231,"build_script_build",false,18310180489256637450],[10798631036892155566,"regex",false,16476667495562437109]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-87e6eccee2ab2291/dep-test-bin-ast"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":15818561653965056890,"profile":10655494245791646288,"path":9083390247940494337,"deps":[[2467173068272650400,"lalrpop_util",false,7886853014596873679],[8570597505840913231,"build_script_build",false,4206630885052160211],[10798631036892155566,"regex",false,16476667495562437109]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-8dcae9af93f8e745/dep-test-bin-comments"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":15818561653965056890,"profile":10655494245791646288,"path":9083390247940494337,"deps":[[2467173068272650400,"lalrpop_util",false,7886853014596873679],[8570597505840913231,"build_script_build",false,18310180489256637450],[10798631036892155566,"regex",false,16476667495562437109]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-8dcae9af93f8e745/dep-test-bin-comments"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":2597462886934658232,"profile":10655494245791646288,"path":1036222786711178230,"deps":[[2467173068272650400,"lalrpop_util",false,7886853014596873679],[8570597505840913231,"build_script_build",false,4206630885052160211],[10798631036892155566,"regex",false,16476667495562437109]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-a44ec001eeb7da9e/dep-test-bin-kompilator"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
{"rustc":7210524046684111384,"features":"[]","target":2597462886934658232,"profile":10655494245791646288,"path":1036222786711178230,"deps":[[2467173068272650400,"lalrpop_util",false,7886853014596873679],[8570597505840913231,"build_script_build",false,18310180489256637450],[10798631036892155566,"regex",false,16476667495562437109]],"local":[{"CheckDepInfo":{"dep_info":"debug/.fingerprint/kompilator-a44ec001eeb7da9e/dep-test-bin-kompilator"}}],"rustflags":[],"metadata":8927882517396783235,"config":0}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment