From e3813e7d4e3450704c1213fd6cdff7c801ccbc34 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Wed, 6 Mar 2019 23:48:32 +0100 Subject: Finally get rid of old parser --- dhall_core/Cargo.toml | 7 - dhall_core/build.rs | 6 - dhall_core/src/grammar.lalrpop | 164 ----------------- dhall_core/src/grammar_util.rs | 5 +- dhall_core/src/lexer.rs | 394 ----------------------------------------- dhall_core/src/lib.rs | 3 - dhall_core/src/parser.rs | 53 +++--- 7 files changed, 22 insertions(+), 610 deletions(-) delete mode 100644 dhall_core/build.rs delete mode 100644 dhall_core/src/grammar.lalrpop delete mode 100644 dhall_core/src/lexer.rs (limited to 'dhall_core') diff --git a/dhall_core/Cargo.toml b/dhall_core/Cargo.toml index dcd5c1f..4010f4a 100644 --- a/dhall_core/Cargo.toml +++ b/dhall_core/Cargo.toml @@ -3,19 +3,12 @@ name = "dhall_core" version = "0.1.0" authors = ["NanoTech ", "Nadrieril "] edition = "2018" -build = "build.rs" [lib] doctest = false -[build-dependencies] -lalrpop = "0.16.3" - [dependencies] -bytecount = "0.5.1" itertools = "0.8.0" -lalrpop-util = "0.16.3" -nom = "3.0.0" term-painter = "0.2.3" pest = { git = "https://github.com/pest-parser/pest" } dhall_parser = { path = "../dhall_parser" } diff --git a/dhall_core/build.rs b/dhall_core/build.rs deleted file mode 100644 index 946841a..0000000 --- a/dhall_core/build.rs +++ /dev/null @@ -1,6 +0,0 @@ -use lalrpop; - -fn main() { - lalrpop::process_root().unwrap(); - println!("cargo:rerun-if-changed=src/grammar.lalrpop"); -} diff --git a/dhall_core/src/grammar.lalrpop b/dhall_core/src/grammar.lalrpop deleted file mode 100644 index 1ffe2ff..0000000 --- a/dhall_core/src/grammar.lalrpop +++ /dev/null @@ -1,164 +0,0 @@ -use std::collections::BTreeMap; -use std::iter; -use std::iter::FromIterator; - -use crate::core; -use crate::core::bx; -use crate::core::Expr::*; -use crate::core::Builtin; -use crate::core::Builtin::*; -use crate::core::BinOp::*; -use crate::grammar_util::*; -use crate::lexer::*; - -grammar<'input>; - -extern { - type Location = usize; - type Error = LexicalError; - - enum Tok<'input> { - Pi => Tok::Pi, - Lambda => Tok::Lambda, - Combine => Tok::Combine, - "->" => Tok::Arrow, - - Int => Tok::Integer(), - Nat => Tok::Natural(), - Text => Tok::Text(), - Bool => Tok::Bool(), - Label => Tok::Identifier(<&'input str>), - Const => Tok::Const(), - Let => Tok::Keyword(Keyword::Let), - In => Tok::Keyword(Keyword::In), - If => Tok::Keyword(Keyword::If), - Then => Tok::Keyword(Keyword::Then), - Else => Tok::Keyword(Keyword::Else), - List => Tok::ListLike(ListLike::List), - Optional => Tok::ListLike(ListLike::Optional), - Builtin => Tok::Builtin(), - - "{" => Tok::BraceL, - "}" => Tok::BraceR, - "[" => Tok::BracketL, - "]" => Tok::BracketR, - "(" => Tok::ParenL, - ")" => Tok::ParenR, - "&&" => Tok::BoolAnd, - "||" => Tok::BoolOr, - "==" => Tok::CompareEQ, - "!=" => Tok::CompareNE, - "++" => Tok::Append, - "*" => Tok::Times, - "+" => Tok::Plus, - "," => Tok::Comma, - "." => Tok::Dot, - ":" => Tok::Ascription, - "=" => Tok::Equals, - } -} - -pub Expr: BoxExpr<'input> = { // exprA - ExprB, -}; - -ExprB: BoxExpr<'input> = { - Lambda "("