diff options
author | Eduardo Julian | 2017-12-13 08:24:56 -0500 |
---|---|---|
committer | Eduardo Julian | 2017-12-13 08:24:56 -0500 |
commit | e5594faf0c38c5d85eb15c1305a124b220c9f428 (patch) | |
tree | 1b395c2d290561ed257d9217c5a6657910348ab7 /new-luxc/source/luxc | |
parent | 578220c6b1f1542607fd9423e16300beb33f32a3 (diff) |
- Added CLI machinery to compiler.
- Added extensions to the REPL.
Diffstat (limited to 'new-luxc/source/luxc')
-rw-r--r-- | new-luxc/source/luxc/lang/translation.lux | 15 | ||||
-rw-r--r-- | new-luxc/source/luxc/repl.lux | 13 |
2 files changed, 20 insertions, 8 deletions
diff --git a/new-luxc/source/luxc/lang/translation.lux b/new-luxc/source/luxc/lang/translation.lux index b1e65c952..1a8ae9be0 100644 --- a/new-luxc/source/luxc/lang/translation.lux +++ b/new-luxc/source/luxc/lang/translation.lux @@ -254,13 +254,14 @@ _ (&io.write target (format hostL.runtime-class ".class") runtime-bc) _ (&io.write target (format hostL.function-class ".class") function-bc) _ (cache/io.pre-load sources target (commonT.load-definition compiler))] - (wrap (set@ #.extensions - (:! Void - {#extensionL.analysis analysisE.defaults - #extensionL.synthesis synthesisE.defaults - #extensionL.translation translationE.defaults - #extensionL.statement statementE.defaults}) - compiler)))))] + (wrap (|> compiler + (set@ [#.info #.mode] #.Build) + (set@ #.extensions + (:! Void + {#extensionL.analysis analysisE.defaults + #extensionL.synthesis synthesisE.defaults + #extensionL.translation translationE.defaults + #extensionL.statement statementE.defaults})))))))] (translate-module sources target prelude compiler))) (def: #export (translate-program sources target program) diff --git a/new-luxc/source/luxc/repl.lux b/new-luxc/source/luxc/repl.lux index 466446003..717462f22 100644 --- a/new-luxc/source/luxc/repl.lux +++ b/new-luxc/source/luxc/repl.lux @@ -34,7 +34,12 @@ [".L" host] [".L" translation] [".L" eval] - (translation [".T" runtime])))) + (translation [".T" runtime]) + [".L" extension] + (extension [".E" analysis] + [".E" synthesis] + [".E" translation] + [".E" statement])))) (exception: #export REPL-Initialization-Failed) (exception: #export REPL-Error) @@ -55,6 +60,12 @@ (#e.Success [compiler _]) (|> compiler (set@ [#.info #.mode] #.REPL) + (set@ #.extensions + (:! Void + {#extensionL.analysis analysisE.defaults + #extensionL.synthesis synthesisE.defaults + #extensionL.translation translationE.defaults + #extensionL.statement statementE.defaults})) (translationL.translate-module source-dirs target-dir translationL.prelude)) (#e.Error error) |