Skip to content

Commit 29644a3

Browse files
committed
Add compile::Mode::BlockExpr
1 parent 07712ed commit 29644a3

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

‎porcelain/src/lib.rs‎

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -76,12 +76,12 @@ pub fn compile(
7676
source_path: String,
7777
opts: CompileOpts,
7878
) -> Result<CodeObject, CompileError> {
79-
let mode = match mode {
79+
let parser_mode = match mode {
8080
compile::Mode::Exec => parser::Mode::Module,
8181
compile::Mode::Eval => parser::Mode::Expression,
82-
compile::Mode::Single => parser::Mode::Interactive,
82+
compile::Mode::Single | compile::Mode::BlockExpr => parser::Mode::Interactive,
8383
};
84-
let mut ast = match parser::parse(source, mode) {
84+
let mut ast = match parser::parse(source, parser_mode) {
8585
Ok(x) => x,
8686
Err(e) => return Err(CompileError::from_parse(e, source, source_path)),
8787
};
@@ -90,7 +90,8 @@ pub fn compile(
9090
.fold_mod(ast)
9191
.unwrap_or_else(|e| match e {});
9292
}
93-
compile::compile_top(&ast, source_path, opts).map_err(|e| CompileError::from_compile(e, source))
93+
compile::compile_top(&ast, source_path, mode, opts)
94+
.map_err(|e| CompileError::from_compile(e, source))
9495
}
9596

9697
pub fn compile_symtable(
@@ -107,7 +108,7 @@ pub fn compile_symtable(
107108
};
108109
}
109110
let res = match mode {
110-
compile::Mode::Exec | compile::Mode::Single => {
111+
compile::Mode::Exec | compile::Mode::Single | compile::Mode::BlockExpr => {
111112
let ast = try_parse!(parser::parse_program(source));
112113
symboltable::make_symbol_table(&ast)
113114
}

0 commit comments

Comments
 (0)