1
1
use std:: path:: Path ;
2
2
3
- use clap:: { Arg , App , SubCommand , ArgMatches , arg_enum , value_t } ;
3
+ use clap:: { arg_enum , value_t , App , Arg , ArgMatches , SubCommand } ;
4
4
5
- use libeir_ir:: { Module , FunctionIdent } ;
6
- use libeir_syntax_erl:: { Parse , Parser , ParseConfig } ;
7
- use libeir_syntax_erl:: ast:: { Module as ErlAstModule } ;
8
- use libeir_syntax_erl:: lower_module;
5
+ use libeir_diagnostics:: { ColorChoice , Emitter , StandardStreamEmitter } ;
9
6
use libeir_intern:: Ident ;
10
- use libeir_diagnostics :: { Emitter , StandardStreamEmitter , ColorChoice } ;
7
+ use libeir_ir :: { FunctionIdent , Module } ;
11
8
use libeir_passes:: PassManager ;
9
+ use libeir_syntax_erl:: ast:: Module as ErlAstModule ;
10
+ use libeir_syntax_erl:: lower_module;
11
+ use libeir_syntax_erl:: { Parse , ParseConfig , Parser } ;
12
12
13
- use liblumen_eir_interpreter:: { VM , call_erlang } ;
13
+ use liblumen_eir_interpreter:: { call_erlang , VM } ;
14
14
15
+ use liblumen_alloc:: erts:: term:: { atom_unchecked, Atom , Term } ;
15
16
use lumen_runtime:: registry;
16
- use liblumen_alloc:: erts:: term:: { Term , Atom , atom_unchecked } ;
17
17
18
18
fn parse_file < T , P > ( path : P , config : ParseConfig ) -> ( T , Parser )
19
19
where
25
25
Ok ( ast) => return ( ast, parser) ,
26
26
Err ( errs) => errs,
27
27
} ;
28
- let emitter = StandardStreamEmitter :: new ( ColorChoice :: Auto )
29
- . set_codemap ( parser. config . codemap . clone ( ) ) ;
28
+ let emitter =
29
+ StandardStreamEmitter :: new ( ColorChoice :: Auto ) . set_codemap ( parser. config . codemap . clone ( ) ) ;
30
30
for err in errs. iter ( ) {
31
31
emitter. diagnostic ( & err. to_diagnostic ( ) ) . unwrap ( ) ;
32
32
}
@@ -35,13 +35,13 @@ where
35
35
36
36
fn lower_file < P > ( path : P , config : ParseConfig ) -> Result < Module , ( ) >
37
37
where
38
- P : AsRef < Path >
38
+ P : AsRef < Path > ,
39
39
{
40
40
let ( parsed, parser) : ( ErlAstModule , _ ) = parse_file ( path, config) ;
41
41
let ( res, messages) = lower_module ( & parsed) ;
42
42
43
- let emitter = StandardStreamEmitter :: new ( ColorChoice :: Auto )
44
- . set_codemap ( parser. config . codemap . clone ( ) ) ;
43
+ let emitter =
44
+ StandardStreamEmitter :: new ( ColorChoice :: Auto ) . set_codemap ( parser. config . codemap . clone ( ) ) ;
45
45
for err in messages. iter ( ) {
46
46
emitter. diagnostic ( & err. to_diagnostic ( ) ) . unwrap ( ) ;
47
47
}
@@ -52,11 +52,15 @@ where
52
52
fn main ( ) {
53
53
let matches = App :: new ( "Lumen Eir Interpreter CLI" )
54
54
. version ( "alpha" )
55
- . arg ( Arg :: from_usage ( "<LOAD_ERL_FILES> 'load files into the interpreter'" )
56
- . multiple ( true )
57
- . required ( false ) )
58
- . arg ( Arg :: from_usage ( "<FUN_IDENT> -i,--ident <IDENT> 'select single function'" )
59
- . required ( true ) )
55
+ . arg (
56
+ Arg :: from_usage ( "<LOAD_ERL_FILES> 'load files into the interpreter'" )
57
+ . multiple ( true )
58
+ . required ( false ) ,
59
+ )
60
+ . arg (
61
+ Arg :: from_usage ( "<FUN_IDENT> -i,--ident <IDENT> 'select single function'" )
62
+ . required ( true ) ,
63
+ )
60
64
. get_matches ( ) ;
61
65
62
66
let ident = FunctionIdent :: parse ( matches. value_of ( "FUN_IDENT" ) . unwrap ( ) ) . unwrap ( ) ;
@@ -85,5 +89,7 @@ fn main() {
85
89
}
86
90
87
91
//let int = init_arc_process.integer(5).unwrap();
88
- call_erlang ( init_arc_process, module, function, & [ ] ) . ok ( ) . unwrap ( ) ;
92
+ call_erlang ( init_arc_process, module, function, & [ ] )
93
+ . ok ( )
94
+ . unwrap ( ) ;
89
95
}
0 commit comments