Releases: irmen/prog8
Releases · irmen/prog8
release 2.3
- fixed certain type casting bugs with subroutine arguments
- optimized swap() some more
- bitmap graphics mandelbrot example added (if you have patience)
- simple subroutine inlining optimization added
- added some more missing code generation (shifts)
- fixed certain ast modifications (optimizers)
release 2.2
- added string value reassignment
- added leftstr() rightstr() substr() functions
- fixed some compiler errors
- fixed some more missing asm codegen
- fixed several issues in ast to sourcecode printing
- got rid of old ast modification API, all optimizers now use the new more versatile and less problematic API
release 2.1
- improved some asm gen error messages
- some improvements in string and array variable handling
- fixed some bugs in Ast printing
- stricter type checking in assignments (less implicit typecasts)
- optimized swap() for byte and word vars
- optimized graphics line routine
- some more expression optimizations
release 2.0
- big compiler speedup due to improved scope name lookups
- gfx subroutines improvements
- improved code generation (not complete yet! but all examples work)
release 1.91
- implemented the last missing asm code generations for bitshifting on arrays
- added a few more small code optimizers
- fixed clear/set_carry() and clear/set_irqd()
release 1.90
Many changes and improvements this time.
- initial variable values semantics changed slightly, read the docs for a thorough explanation
- the AST VM / Simulator has been removed. It was lacking and taking too much effort to keep up to date. Just compile and run your programs on the actual machine with Vice for instance.
- many compiler crashes fixed.
- improved various compiler error messages.
- fix assignment of struct literal values
- bugfixes in various optimizers
- fix ubyte number print bug for 100-109 and 200-209 missing the tens digit
- fixed invalid assembly for some direct memory read and writes
- bit shifting assembly code tweaked (optimized/ smaller)
- internal rewrite to a more generic and easier to use AST walker/visitor. In progress.
- added some bitmap graphics drawing examples including simple turtle graphics
- added a 'scramble' inspired balloon flight example
release 1.81
- added exit(rc) function
- added forever loop
- fix stack destroy bug in print_uw
- fix asm code crash for bitshift on memory address operand
- added warning when sgn() called on unsigned typed value
- error reporting improved, no more double messages
- check added for double label name definitions
- fix label assembly code generation by making them local asm labels
- a function call datatype mismatch asm crash was fixed
- internal autogenerated labels are no longer polluting the vice monlist file
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