| BCPush String
| BCPop
//Unary ops
- | BCNeg
| BCNot
//Binary Int ops
| BCAdd
| BCJmp Int
| BCJmpT Int
| BCJmpF Int
+ //Serial
+ | BCSerialAvail
+ | BCSerialPrint
+ | BCSerialPrintln
+ | BCSerialRead
+ | BCSerialParseInt
+ //Pins
+ | BCAnalogRead String
+ | BCAnalogWrite String
+ | BCDigitalRead String
+ | BCDigitalWrite String
//:: ByteCode a p = BC (BCState -> ([BC], BCState))
:: ByteCode a p = BC [BC]