aboutsummaryrefslogtreecommitdiff
path: root/new-luxc/source/luxc/generator/expression.jvm.lux
diff options
context:
space:
mode:
authorEduardo Julian2017-11-01 00:51:45 -0400
committerEduardo Julian2017-11-01 00:51:45 -0400
commit012f6bd41e527479dddbccbdab10daa78fd9a0fd (patch)
tree621f344a09acd52736f343d94582b3f1a2f0c5f9 /new-luxc/source/luxc/generator/expression.jvm.lux
parent71d7a4c7206155e09f3e1e1d8699561ea6967382 (diff)
- Re-organized code-generation, and re-named it "translation".
Diffstat (limited to 'new-luxc/source/luxc/generator/expression.jvm.lux')
-rw-r--r--new-luxc/source/luxc/generator/expression.jvm.lux76
1 files changed, 0 insertions, 76 deletions
diff --git a/new-luxc/source/luxc/generator/expression.jvm.lux b/new-luxc/source/luxc/generator/expression.jvm.lux
deleted file mode 100644
index 798998510..000000000
--- a/new-luxc/source/luxc/generator/expression.jvm.lux
+++ /dev/null
@@ -1,76 +0,0 @@
-(;module:
- lux
- (lux (control monad
- ["ex" exception #+ exception:]
- ["p" parser])
- (data ["e" error]
- text/format)
- [meta]
- (meta ["s" syntax]))
- (luxc ["&" base]
- (host ["$" jvm])
- (lang ["ls" synthesis]
- [";L" variable #+ Variable Register])
- (generator ["&;" common]
- ["&;" primitive]
- ["&;" structure]
- ["&;" eval]
- ["&;" procedure]
- ["&;" function]
- ["&;" reference]
- [";G" case])))
-
-(exception: #export Unrecognized-Synthesis)
-
-(def: #export (generate synthesis)
- (-> ls;Synthesis (Meta $;Inst))
- (case synthesis
- (^code [])
- &primitive;generate-unit
-
- (^code [(~ singleton)])
- (generate singleton)
-
- (^template [<tag> <generator>]
- [_ (<tag> value)]
- (<generator> value))
- ([#;Bool &primitive;generate-bool]
- [#;Nat &primitive;generate-nat]
- [#;Int &primitive;generate-int]
- [#;Deg &primitive;generate-deg]
- [#;Frac &primitive;generate-frac]
- [#;Text &primitive;generate-text])
-
- (^code ((~ [_ (#;Nat tag)]) (~ [_ (#;Bool last?)]) (~ valueS)))
- (&structure;generate-variant generate tag last? valueS)
-
- (^code [(~@ members)])
- (&structure;generate-tuple generate members)
-
- (^ [_ (#;Form (list [_ (#;Int var)]))])
- (if (variableL;captured? var)
- (&reference;generate-captured var)
- (&reference;generate-variable var))
-
- [_ (#;Symbol definition)]
- (&reference;generate-definition definition)
-
- (^code ("lux let" (~ [_ (#;Nat register)]) (~ inputS) (~ exprS)))
- (caseG;generate-let generate register inputS exprS)
-
- (^code ("lux case" (~ inputS) (~ pathPS)))
- (caseG;generate-case generate inputS pathPS)
-
- (^multi (^code ("lux function" (~ [_ (#;Nat arity)]) [(~@ environment)] (~ bodyS)))
- [(s;run environment (p;some s;int)) (#e;Success environment)])
- (&function;generate-function generate environment arity bodyS)
-
- (^code ("lux call" (~ functionS) (~@ argsS)))
- (&function;generate-call generate functionS argsS)
-
- (^code ((~ [_ (#;Text procedure)]) (~@ argsS)))
- (&procedure;generate-procedure generate procedure argsS)
-
- _
- (&;throw Unrecognized-Synthesis (%code synthesis))
- ))