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
##LIBOOP,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]