diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..c41cc9e35e38efc7d080637859e6c72940b374a2
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1 @@
+/target
\ No newline at end of file
diff --git a/Cargo.toml b/Cargo.toml
new file mode 100644
index 0000000000000000000000000000000000000000..73757b3a240c2ef6a9ade76b8f484505e310b911
--- /dev/null
+++ b/Cargo.toml
@@ -0,0 +1,16 @@
+[package]
+name = "d7050e_2020"
+version = "0.1.0"
+authors = ["Per Lindgren <per.lindgren@ltu.se>"]
+edition = "2018"
+
+build = "build.rs" # LALRPOP preprocessing
+
+[build-dependencies.lalrpop] 
+version = "0.19.0"
+
+[dependencies]
+lalrpop-util = "0.19.0"
+regex = "1.3.9"
+
+lalrpop = {version = "0.19.0", features = ["lexer"] }
diff --git a/build.rs b/build.rs
new file mode 100644
index 0000000000000000000000000000000000000000..f0b9bab9279068644e426a7f4e32817dccaa95f1
--- /dev/null
+++ b/build.rs
@@ -0,0 +1,6 @@
+// extern crate lalrpop;
+use lalrpop;
+
+fn main() {
+    lalrpop::process_root().unwrap();
+}