Releases: irmen/prog8
Releases · irmen/prog8
release 1.80
- added 'downto' range expression to make the step -1 common case easier
- reverse(float array) now works
- fixed some compiler problems related to the data type of array literals
- reintroduced alternative string encoding via @"...." syntax (for c64 this is the screencode encoding, rather than petscii which is the default for strings)
- introduced
romsub
keyword, to define ROM subroutines, instead of usingasmsub
- compiler speed improved (callgraph logic was improved)
- floating point assembly code moved to separate embedded library file
release 1.70
- the separate STR_S datatype is gone (screencode strings will be done differently in a future release)
- added void keyword to explicitly ignore subroutine return values and get rid of that compiler warning
- fix assembler float truncation warning
- fix while and repeat loops condition warning location text
- fix invalid while and repeat assembly label name generation
- fix boolean checking of numbers
- fix compilation error about byte forl oop over array for bb in [1,2,3]
- many code cleanups, such as getting rid of most of the heapId code
- various simulator vm fixes
- improvements in the compiler backend code
- updated libraries
release 1.62
- fixed some type cast compiler errors in for loops
- fixed windows path issues related to drive letters
- improved number-to-decimal assembly library routines
- build script fixes for jdk 1.8
- som cleanups
release 1.61
- improved command line interface:
- can now compile multiple programs at once
- can now specify output directory
- implemented all for loop asm code paths
- implemented a lot more bitshift asm code, but stuff remains tbd
- added more functions to the simulator
release 1.60
- syntax change: it is no longer possible to declare for-loop variables inline
- optimized bit shift operations and fixed bugs
- added sort() and reverse() and sgn() functions
- for loop asm generation improved
- a lot of bug fixes
release 1.51
- removed avg() function because of invisible internal overflow issue
- added assembly output for the aggregate functions (min/max/sum etcetera)
- fixed strlen, any, all, asmsub argument via stack.
release 1.50
Got rid of the intermediate bytecodes and stackvm.
Assembly code generator completely rewritten to work directly from the Ast. (NOTE: unfortunately there's still a big code size regression caused by this)
Continuous compilation mode added.
Better syntax error checking.
added dontuse
zeropage option
release 1.20
- struct literals added
- aggregate functions fixed in AstVM
- some array and struct parsing issues fixed
- arrays without init value are once again cleared with zero
- many internal refactorings and dead code cleanups
release 1.11
- added structs
release 1.10
- 'when' statement supported fully.
- multi target assignments are no longer supported
- return statements can no longer have more than one value
- tehtriz example now uses 'when' instead of a long if else list
- fixed typecasting issues
- typecasting is optimized better
- fixed some arithmetical compile time issues
- various other bug fixes