summaryrefslogtreecommitdiff
path: root/dhall/src
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--dhall/src/lib.rs4
-rw-r--r--dhall/src/syntax/core/context.rs (renamed from dhall_syntax/src/core/context.rs)0
-rw-r--r--dhall/src/syntax/core/expr.rs (renamed from dhall_syntax/src/core/expr.rs)6
-rw-r--r--dhall/src/syntax/core/import.rs (renamed from dhall_syntax/src/core/import.rs)0
-rw-r--r--dhall/src/syntax/core/label.rs (renamed from dhall_syntax/src/core/label.rs)0
-rw-r--r--dhall/src/syntax/core/map.rs (renamed from dhall_syntax/src/core/map.rs)0
-rw-r--r--dhall/src/syntax/core/mod.rs (renamed from dhall_syntax/src/core/mod.rs)0
-rw-r--r--dhall/src/syntax/core/span.rs (renamed from dhall_syntax/src/core/span.rs)0
-rw-r--r--dhall/src/syntax/core/text.rs (renamed from dhall_syntax/src/core/text.rs)0
-rw-r--r--dhall/src/syntax/core/visitor.rs (renamed from dhall_syntax/src/core/visitor.rs)6
-rw-r--r--dhall/src/syntax/mod.rs15
-rw-r--r--dhall/src/syntax/parser.rs (renamed from dhall_syntax/src/parser.rs)28
-rw-r--r--dhall/src/syntax/printer.rs (renamed from dhall_syntax/src/printer.rs)14
13 files changed, 43 insertions, 30 deletions
diff --git a/dhall/src/lib.rs b/dhall/src/lib.rs
index 86af98f..0991375 100644
--- a/dhall/src/lib.rs
+++ b/dhall/src/lib.rs
@@ -13,6 +13,4 @@
mod tests;
pub mod semantics;
-pub mod syntax {
- pub use dhall_syntax::*;
-}
+pub mod syntax;
diff --git a/dhall_syntax/src/core/context.rs b/dhall/src/syntax/core/context.rs
index 6844baa..6844baa 100644
--- a/dhall_syntax/src/core/context.rs
+++ b/dhall/src/syntax/core/context.rs
diff --git a/dhall_syntax/src/core/expr.rs b/dhall/src/syntax/core/expr.rs
index 131f97e..7972283 100644
--- a/dhall_syntax/src/core/expr.rs
+++ b/dhall/src/syntax/core/expr.rs
@@ -1,6 +1,6 @@
-use crate::map::{DupTreeMap, DupTreeSet};
-use crate::visitor::{self, ExprFMutVisitor, ExprFVisitor};
-use crate::*;
+use crate::syntax::map::{DupTreeMap, DupTreeSet};
+use crate::syntax::visitor::{self, ExprFMutVisitor, ExprFVisitor};
+use crate::syntax::*;
pub type Integer = isize;
pub type Natural = usize;
diff --git a/dhall_syntax/src/core/import.rs b/dhall/src/syntax/core/import.rs
index da3e99b..da3e99b 100644
--- a/dhall_syntax/src/core/import.rs
+++ b/dhall/src/syntax/core/import.rs
diff --git a/dhall_syntax/src/core/label.rs b/dhall/src/syntax/core/label.rs
index 43c3f53..43c3f53 100644
--- a/dhall_syntax/src/core/label.rs
+++ b/dhall/src/syntax/core/label.rs
diff --git a/dhall_syntax/src/core/map.rs b/dhall/src/syntax/core/map.rs
index c4c6126..c4c6126 100644
--- a/dhall_syntax/src/core/map.rs
+++ b/dhall/src/syntax/core/map.rs
diff --git a/dhall_syntax/src/core/mod.rs b/dhall/src/syntax/core/mod.rs
index 66bf229..66bf229 100644
--- a/dhall_syntax/src/core/mod.rs
+++ b/dhall/src/syntax/core/mod.rs
diff --git a/dhall_syntax/src/core/span.rs b/dhall/src/syntax/core/span.rs
index f9c7008..f9c7008 100644
--- a/dhall_syntax/src/core/span.rs
+++ b/dhall/src/syntax/core/span.rs
diff --git a/dhall_syntax/src/core/text.rs b/dhall/src/syntax/core/text.rs
index fb390ee..fb390ee 100644
--- a/dhall_syntax/src/core/text.rs
+++ b/dhall/src/syntax/core/text.rs
diff --git a/dhall_syntax/src/core/visitor.rs b/dhall/src/syntax/core/visitor.rs
index 143e556..b76d037 100644
--- a/dhall_syntax/src/core/visitor.rs
+++ b/dhall/src/syntax/core/visitor.rs
@@ -1,4 +1,4 @@
-use crate::*;
+use crate::syntax::*;
use std::iter::FromIterator;
/// A visitor trait that can be used to traverse `ExprF`s. We need this pattern so that Rust lets
@@ -111,7 +111,7 @@ where
.collect()
}
- use crate::ExprF::*;
+ use crate::syntax::ExprF::*;
Ok(match input {
Var(v) => Var(v.clone()),
Lam(l, t, e) => {
@@ -225,7 +225,7 @@ where
Ok(())
}
- use crate::ExprF::*;
+ use crate::syntax::ExprF::*;
match input {
Var(_) | Const(_) | Builtin(_) | BoolLit(_) | NaturalLit(_)
| IntegerLit(_) | DoubleLit(_) => {}
diff --git a/dhall/src/syntax/mod.rs b/dhall/src/syntax/mod.rs
new file mode 100644
index 0000000..177c4f1
--- /dev/null
+++ b/dhall/src/syntax/mod.rs
@@ -0,0 +1,15 @@
+#![allow(
+ clippy::many_single_char_names,
+ clippy::should_implement_trait,
+ clippy::new_without_default,
+ clippy::type_complexity
+)]
+
+mod core;
+pub use crate::syntax::core::context;
+pub use crate::syntax::core::visitor;
+pub use crate::syntax::core::*;
+mod printer;
+pub use crate::syntax::printer::*;
+mod parser;
+pub use crate::syntax::parser::*;
diff --git a/dhall_syntax/src/parser.rs b/dhall/src/syntax/parser.rs
index 044d3f1..2f589fe 100644
--- a/dhall_syntax/src/parser.rs
+++ b/dhall/src/syntax/parser.rs
@@ -5,9 +5,9 @@ use std::rc::Rc;
use pest_consume::{match_nodes, Parser};
-use crate::map::{DupTreeMap, DupTreeSet};
-use crate::ExprF::*;
-use crate::*;
+use crate::syntax::map::{DupTreeMap, DupTreeSet};
+use crate::syntax::ExprF::*;
+use crate::syntax::*;
// This file consumes the parse tree generated by pest and turns it into
// our own AST. All those custom macros should eventually moved into
@@ -28,9 +28,9 @@ enum Selector<E> {
ProjectionByExpr(Expr<E>),
}
-impl crate::Builtin {
+impl crate::syntax::Builtin {
pub fn parse(s: &str) -> Option<Self> {
- use crate::Builtin::*;
+ use crate::syntax::Builtin::*;
match s {
"Bool" => Some(Bool),
"Natural" => Some(Natural),
@@ -146,7 +146,7 @@ lazy_static::lazy_static! {
}
#[derive(Parser)]
-#[grammar = "dhall.pest"]
+#[grammar = "../../dhall_syntax/src/dhall.pest"]
struct DhallParser;
#[pest_consume::parser(parser = DhallParser, rule = Rule)]
@@ -328,14 +328,14 @@ impl DhallParser {
#[alias(expression)]
fn builtin<E: Clone>(input: ParseInput) -> ParseResult<Expr<E>> {
let s = input.as_str();
- let e = match crate::Builtin::parse(s) {
+ let e = match crate::syntax::Builtin::parse(s) {
Some(b) => Builtin(b),
None => match s {
"True" => BoolLit(true),
"False" => BoolLit(false),
- "Type" => Const(crate::Const::Type),
- "Kind" => Const(crate::Const::Kind),
- "Sort" => Const(crate::Const::Sort),
+ "Type" => Const(crate::syntax::Const::Type),
+ "Kind" => Const(crate::syntax::Const::Kind),
+ "Sort" => Const(crate::syntax::Const::Sort),
_ => {
Err(input.error(format!("Unrecognized builtin: '{}'", s)))?
}
@@ -575,8 +575,8 @@ impl DhallParser {
fn import_hashed<E: Clone>(
input: ParseInput,
- ) -> ParseResult<crate::Import<Expr<E>>> {
- use crate::Import;
+ ) -> ParseResult<crate::syntax::Import<Expr<E>>> {
+ use crate::syntax::Import;
let mode = ImportMode::Code;
Ok(match_nodes!(input.into_children();
[import_type(location)] => Import { mode, location, hash: None },
@@ -595,7 +595,7 @@ impl DhallParser {
#[alias(expression)]
fn import<E: Clone>(input: ParseInput) -> ParseResult<Expr<E>> {
- use crate::Import;
+ use crate::syntax::Import;
let import = match_nodes!(input.children();
[import_hashed(imp)] => {
Import { mode: ImportMode::Code, ..imp }
@@ -699,7 +699,7 @@ impl DhallParser {
op: ParseInput,
r: Expr<E>,
) -> ParseResult<Expr<E>> {
- use crate::BinOp::*;
+ use crate::syntax::BinOp::*;
use Rule::*;
let op = match op.as_rule() {
import_alt => ImportAlt,
diff --git a/dhall_syntax/src/printer.rs b/dhall/src/syntax/printer.rs
index ce6ff97..8df456b 100644
--- a/dhall_syntax/src/printer.rs
+++ b/dhall/src/syntax/printer.rs
@@ -1,11 +1,11 @@
-use crate::*;
+use crate::syntax::*;
use itertools::Itertools;
use std::fmt::{self, Display};
/// Generic instance that delegates to subexpressions
impl<SE: Display + Clone, E: Display> Display for ExprF<SE, E> {
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
- use crate::ExprF::*;
+ use crate::syntax::ExprF::*;
match self {
Lam(a, b, c) => {
write!(f, "λ({} : {}) → {}", a, b, c)?;
@@ -141,7 +141,7 @@ impl<A: Display + Clone> RawExpr<A> {
f: &mut fmt::Formatter,
phase: PrintPhase,
) -> Result<(), fmt::Error> {
- use crate::ExprF::*;
+ use crate::syntax::ExprF::*;
use PrintPhase::*;
let needs_paren = match self {
@@ -298,7 +298,7 @@ impl Display for Const {
impl Display for BinOp {
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
- use crate::BinOp::*;
+ use crate::syntax::BinOp::*;
f.write_str(match self {
BoolOr => "||",
TextAppend => "++",
@@ -344,7 +344,7 @@ impl Display for Label {
let is_reserved = match s.as_str() {
"let" | "in" | "if" | "then" | "else" | "Type" | "Kind"
| "Sort" | "True" | "False" => true,
- _ => crate::Builtin::parse(&s).is_some(),
+ _ => crate::syntax::Builtin::parse(&s).is_some(),
};
if !is_reserved && s.chars().all(|c| c.is_ascii_alphanumeric()) {
write!(f, "{}", s)
@@ -443,7 +443,7 @@ impl<SubExpr: Display> Display for Import<SubExpr> {
impl Display for Builtin {
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
- use crate::Builtin::*;
+ use crate::syntax::Builtin::*;
f.write_str(match *self {
Bool => "Bool",
Natural => "Natural",
@@ -480,7 +480,7 @@ impl Display for Builtin {
impl Display for Scheme {
fn fmt(&self, f: &mut fmt::Formatter) -> Result<(), fmt::Error> {
- use crate::Scheme::*;
+ use crate::syntax::Scheme::*;
f.write_str(match *self {
HTTP => "http",
HTTPS => "https",