aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/compiler
diff options
context:
space:
mode:
authorEduardo Julian2017-05-15 22:19:14 -0400
committerEduardo Julian2017-05-15 22:19:14 -0400
commit824482b2e8b13e42a524a5e4945ea3e172395c9e (patch)
tree959bb7684461318b1026cd773ae29ac76d426054 /new-luxc/source/luxc/compiler
parent04c0a8d2fceae628099673e62527fc48e2afd7e7 (diff)
WIP
- Simplified the Analysis type, by removing all meta-data. - Added analysis of function calls. - Added analysis of common Lux procedures. - Lots of refactoring.
Diffstat (limited to '')
-rw-r--r--new-luxc/source/luxc/compiler.lux2
-rw-r--r--new-luxc/source/luxc/compiler/expr.jvm.lux6
2 files changed, 6 insertions, 2 deletions
diff --git a/new-luxc/source/luxc/compiler.lux b/new-luxc/source/luxc/compiler.lux
index 2af00b049..92d4bf8ab 100644
--- a/new-luxc/source/luxc/compiler.lux
+++ b/new-luxc/source/luxc/compiler.lux
@@ -35,7 +35,7 @@
(&&statement;compile-program prog-args prog-body)
_
- (&;fail (format "Unrecognized statement: " (%ast ast)))))
+ (&;fail (format "Unrecognized statement: " (%code ast)))))
(def: (exhaust action)
(All [a] (-> (Lux a) (Lux Unit)))
diff --git a/new-luxc/source/luxc/compiler/expr.jvm.lux b/new-luxc/source/luxc/compiler/expr.jvm.lux
index 33a41541b..173293b1c 100644
--- a/new-luxc/source/luxc/compiler/expr.jvm.lux
+++ b/new-luxc/source/luxc/compiler/expr.jvm.lux
@@ -50,8 +50,12 @@
&;Eval
(undefined))
+(def: analyse
+ &;Analyser
+ (&analyser;analyser eval))
+
(def: #export (compile input)
(-> Code (Lux &common;Compiled))
(do Monad<Lux>
- [analysis (&analyser;analyse eval input)]
+ [analysis (analyse input)]
(compile-synthesis (&synthesizer;synthesize analysis))))