summaryrefslogtreecommitdiff
path: root/dhall/src/phase/parse.rs
diff options
context:
space:
mode:
authorNadrieril2019-05-12 18:44:28 +0200
committerNadrieril2019-05-12 18:44:44 +0200
commitc2b4a2d9b40efbe4f6cb6fd04f6cb90639f4985f (patch)
tree02e0f7b57b56f949240cedbdfabac234d9486834 /dhall/src/phase/parse.rs
parent2d1a333d6c1e8571ca91d29333c284104153b0ef (diff)
Implement binary encoding
Closes #39
Diffstat (limited to '')
-rw-r--r--dhall/src/phase/parse.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/dhall/src/phase/parse.rs b/dhall/src/phase/parse.rs
index 765fc09..734f6e1 100644
--- a/dhall/src/phase/parse.rs
+++ b/dhall/src/phase/parse.rs
@@ -22,6 +22,12 @@ pub fn parse_str(s: &str) -> Result<Parsed, Error> {
Ok(Parsed(expr, root))
}
+pub fn parse_binary(data: &[u8]) -> Result<Parsed, Error> {
+ let expr = crate::phase::binary::decode(data)?;
+ let root = ImportRoot::LocalDir(std::env::current_dir()?);
+ Ok(Parsed(expr.note_absurd(), root))
+}
+
pub fn parse_binary_file(f: &Path) -> Result<Parsed, Error> {
let mut buffer = Vec::new();
File::open(f)?.read_to_end(&mut buffer)?;