diff options
author | Eduardo Julian | 2018-07-18 23:44:29 -0400 |
---|---|---|
committer | Eduardo Julian | 2018-07-18 23:44:29 -0400 |
commit | 8b4f0ded7bddaa42cf432f74523bfd6aa1e76fed (patch) | |
tree | 27840fac3765bf9f3411ca65dc1ef5d8de0b044b /new-luxc/source/luxc/lang/host/jvm.lux | |
parent | c99909d6f03d9968cdd81c8a5c7e254372a3afcd (diff) |
WIP: Fix new-luxc's JVM back-end.
Diffstat (limited to 'new-luxc/source/luxc/lang/host/jvm.lux')
-rw-r--r-- | new-luxc/source/luxc/lang/host/jvm.lux | 51 |
1 files changed, 38 insertions, 13 deletions
diff --git a/new-luxc/source/luxc/lang/host/jvm.lux b/new-luxc/source/luxc/lang/host/jvm.lux index adb24b8c0..bbfc5e136 100644 --- a/new-luxc/source/luxc/lang/host/jvm.lux +++ b/new-luxc/source/luxc/lang/host/jvm.lux @@ -1,19 +1,28 @@ (.module: - [lux #- Type] - (lux (control monad - ["p" parser]) - (data (coll [list "list/" Functor<List>])) - [macro] - (macro [code] - ["s" syntax #+ syntax:]) - [host])) + [lux (#- Type Definition) + [control + monad + ["p" parser]] + [data + [collection + [list ("list/" Functor<List>)]]] + [macro + [code] + ["s" syntax (#+ syntax:)]] + [host (#+ import:)] + [world + [blob (#+ Blob)]] + [language + [reference (#+ Register)] + [compiler + ["." translation]]]]) ## [Host] -(host.import: org/objectweb/asm/MethodVisitor) +(import: org/objectweb/asm/MethodVisitor) -(host.import: org/objectweb/asm/ClassWriter) +(import: org/objectweb/asm/ClassWriter) -(host.import: #long org/objectweb/asm/Label +(import: #long org/objectweb/asm/Label (new [])) ## [Type] @@ -61,8 +70,6 @@ (type: #export Label org/objectweb/asm/Label) -(type: #export Register Nat) - (type: #export Visibility #Public #Protected @@ -79,6 +86,24 @@ #V1_7 #V1_8) +(type: #export ByteCode Blob) + +(type: #export Definition [Text ByteCode]) + +(type: #export Anchor [Label Register]) + +(type: #export Host + (translation.Host Inst Definition)) + +(type: #export State + (translation.State ..Anchor Inst Definition)) + +(type: #export Operation + (translation.Operation ..Anchor Inst Definition)) + +(type: #export Compiler + (translation.Compiler ..Anchor Inst Definition)) + ## [Values] (syntax: (config: {type s.local-symbol} {none s.local-symbol} |