From 617e8c2200546ddd3a4480d8c83cb8703f6595b3 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Fri, 13 Dec 2019 12:47:31 +0000 Subject: Derive Parser in dhall_syntax directly --- dhall_syntax/src/parser.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'dhall_syntax/src/parser.rs') diff --git a/dhall_syntax/src/parser.rs b/dhall_syntax/src/parser.rs index f5d161f..3ea766f 100644 --- a/dhall_syntax/src/parser.rs +++ b/dhall_syntax/src/parser.rs @@ -3,8 +3,6 @@ use pest::prec_climber as pcl; use pest::prec_climber::PrecClimber; use std::rc::Rc; -use dgp::Rule; -use dhall_generated_parser as dgp; use pest_consume::{match_nodes, Parser}; use crate::map::{DupTreeMap, DupTreeSet}; @@ -147,9 +145,11 @@ lazy_static::lazy_static! { }; } +#[derive(Parser)] +#[grammar = "../../dhall_generated_parser/src/dhall.pest"] struct DhallParser; -#[pest_consume::parser(parser = dgp::DhallParser, rule = dgp::Rule)] +#[pest_consume::parser(parser = DhallParser, rule = Rule)] impl DhallParser { fn EOI(_input: ParseInput) -> ParseResult<()> { Ok(()) -- cgit v1.2.3 From 4c3552e23f788f971dc5879c99e1e659d8ddae8f Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Fri, 13 Dec 2019 12:53:02 +0000 Subject: Merge dhall_generated_parser into dhall_syntax --- dhall_syntax/src/parser.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'dhall_syntax/src/parser.rs') diff --git a/dhall_syntax/src/parser.rs b/dhall_syntax/src/parser.rs index 3ea766f..044d3f1 100644 --- a/dhall_syntax/src/parser.rs +++ b/dhall_syntax/src/parser.rs @@ -146,7 +146,7 @@ lazy_static::lazy_static! { } #[derive(Parser)] -#[grammar = "../../dhall_generated_parser/src/dhall.pest"] +#[grammar = "dhall.pest"] struct DhallParser; #[pest_consume::parser(parser = DhallParser, rule = Rule)] -- cgit v1.2.3 From 78e9e32e1357d50313287dd2a3c437132c83aeb6 Mon Sep 17 00:00:00 2001 From: Nadrieril Date: Sun, 15 Dec 2019 20:10:54 +0000 Subject: Move contents of dhall_syntax to dhall --- dhall_syntax/src/parser.rs | 942 --------------------------------------------- 1 file changed, 942 deletions(-) delete mode 100644 dhall_syntax/src/parser.rs (limited to 'dhall_syntax/src/parser.rs') diff --git a/dhall_syntax/src/parser.rs b/dhall_syntax/src/parser.rs deleted file mode 100644 index 044d3f1..0000000 --- a/dhall_syntax/src/parser.rs +++ /dev/null @@ -1,942 +0,0 @@ -use itertools::Itertools; -use pest::prec_climber as pcl; -use pest::prec_climber::PrecClimber; -use std::rc::Rc; - -use pest_consume::{match_nodes, Parser}; - -use crate::map::{DupTreeMap, DupTreeSet}; -use crate::ExprF::*; -use crate::*; - -// This file consumes the parse tree generated by pest and turns it into -// our own AST. All those custom macros should eventually moved into -// their own crate because they are quite general and useful. For now they -// are here and hopefully you can figure out how they work. - -type ParsedText = InterpolatedText>; -type ParsedTextContents = InterpolatedTextContents>; -type ParseInput<'input> = pest_consume::Node<'input, Rule, Rc>; - -pub type ParseError = pest::error::Error; -pub type ParseResult = Result; - -#[derive(Debug)] -enum Selector { - Field(Label), - Projection(DupTreeSet