MPL Bytecode Compiler Code
Micro Programming Language - A Portable Language for Micro Computers
Status: Beta
Brought to you by:
buzzphp
// THIS IS THE START OF A OOP EXAMPLE IN MPL ##LIBHDR ANIMAL.SAYS(O) INVOKE(O,4) ANIMAL.EATS(O) INVOKE(O,5) ANIMAL.NAME(O) INVOKE(O,6) .ANIMAL=.OBJECT,0 [ INIT=0 DONE=0 SAYS=0 EATS=0 NAME=0 ] .CAT=.ANIMAL,10 [ INIT=0 DONE=0 SAYS=0 EATS=0 NAME=0 ::INIT(O) [O] ::NAME(O) "CAT" ::SAYS(O) "MEOW" ::EATS(O) "FISH" ] .DOG=.ANIMAL,10 [ INIT=0 DONE=0 SAYS=0 EATS=0 NAME=0 ::INIT(O) [O] ::NAME(O) "DOG" ::SAYS(O) "WOOF" ::EATS(O) "BONES" ] .COW=.ANIMAL,10 [ INIT=0 DONE=0 SAYS=0 EATS=0 NAME=0 ::INIT(O) [O] ::NAME(O) "COW" ::SAYS(O) "MOOO" ::EATS(O) "GRASS" ] INFO(O) WRITEF("A %S SAYS %S AND EATS %S*N", ANIMAL.NAME(O), ANIMAL.SAYS(O), ANIMAL.EATS(O)) .(;A,B,C) [ A=CREATE(.CAT); B=CREATE(.DOG); C=CREATE(.COW); INFO(A); INFO(B); INFO(C); 0]