changed mTaskInterpret to output a real task
[mTask.git] / mTaskInterpret.dcl
index 885d52e..2648cb9 100644 (file)
@@ -6,7 +6,7 @@ import mTask
 
 :: BC
        = BCNop
-       | BCPush String
+       | BCPush Int
        | BCPop
        //Unary ops
        | BCNot
@@ -28,6 +28,18 @@ import mTask
        | BCJmp Int
        | BCJmpT Int
        | BCJmpF Int
+       //Serial
+       | BCSerialAvail
+       | BCSerialPrint
+       | BCSerialPrintln
+       | BCSerialRead
+       | BCSerialParseInt
+       //Pins
+       | BCAnalogRead Pin
+       | BCAnalogWrite Pin
+       | BCDigitalRead Pin
+       | BCDigitalWrite Pin
+       | BCTest AnalogPin
 
 //:: ByteCode a p = BC (BCState -> ([BC], BCState))
 :: ByteCode a p = BC [BC]
@@ -36,7 +48,7 @@ import mTask
                a::()
        }
 
-toByteVal :: BC -> String
+toByteVal :: BC -> [Char]
 toReadableByteVal :: BC -> String
 
 //instance toCode Pin