MPL Bytecode Compiler Code
Micro Programming Language - A Portable Language for Micro Computers
Status: Beta
Brought to you by:
buzzphp
/* EXAMPLE OF RECORDS IN MPL TODO: ADD A SORT FUNCTION */ ##LIBHDR .GAME : 4 .GAME.NAME : 0 .GAME.YEAR : 1 GAME.NEW(NAME,YEAR; GAME) [ GAME=MALLOC(.GAME); GAME!.GAME.NAME=STRDUP(NAME); GAME!.GAME.YEAR=YEAR; GAME ] .GAMES=!60 COUNT=0 DIVLINE(W) [ >W-- @ WRCH('-'); NEWLINE() ] .(;I) [ NEWLINE(); .GAMES!COUNT++ = GAME.NEW("SPACE INVADERS" , 1980); .GAMES!COUNT++ = GAME.NEW("STAR RAIDERS" , 1982); .GAMES!COUNT++ = GAME.NEW("FROGGER" , 1982); .GAMES!COUNT++ = GAME.NEW("ASTEROIDS" , 1981); .GAMES!COUNT++ = GAME.NEW("SURROUND" , 1977); .GAMES!COUNT++ = GAME.NEW("TRACK & FIELD" , 1983); .GAMES!COUNT++ = GAME.NEW("VIDEO CHESS" , 1979); .GAMES!COUNT++ = GAME.NEW("XENOPHOBE" , 1990); .GAMES!COUNT++ = GAME.NEW("AIR RAID" , 1982); .GAMES!COUNT++ = GAME.NEW("BURGERTIME" , 1982); DIVLINE(40); WRITEF("%TK %T4*N","NAME","YEAR"); DIVLINE(40); I = 0; I < COUNT @ [ WRITEF("%TK %I4*N",.GAMES!I!.GAME.NAME,.GAMES!I!.GAME.YEAR); ++I ]; DIVLINE(40); 0]