Short: New powerful programming language v0.19 Author: Martin Kuchinka Uploader: kuchinka@volny.cz Version: 0.19, 25.6.2002 Type: dev/e Replaces: powerd.lha Requires: OS3.0+, additional memory, PhxAss,PAsm, VLink, A WebBrowser for documentation It is not a reworked AmigaE, it is completely new programming language, which has only similar syntax to AmigaE. It is quite memory hungry, but 4 megabytes should be enough for larger projects. It can use linked libraries and objects. It is free. See documentation or my homepage www.volny.cz/kuchinka for more information. Currently it may have many bugs and it is not too "fool-proof". If You want to be a betatester, please e-mail me, you will be welcomed. If you found some bugs or you have remainders or suggestions, please e-mail me, opinions are also welcome. I hope You will use and like it. PS: All help is welcome. Changes from 0.18: 18.11.2001 alpha1: - finaly added the OPT LIBRARY to generate a library, currently very limited, but it's just a beginning :) Special thanks to Marco Antoniazzi, without his help, it wouldn't be that simple :) 30.11.2001 alpha2: - INCBIN '*file' is now allowed. (* means the path of the source code) - added support for local OBJECTs - bugfixes reported by Marco Antoniazzi - fixed a bug related to alignment for OPT LIBRARY 9.12.2001 alpha3: - announced support for OOP4A project (more: http://www.geocities.com/SiliconValley/Bridge/5737) - in some occasions (when no external references used), phxass produced executable directly without the intermediate object file, that PowerD requires - all the LIBRARY definition only modules did an error, fixed - bugfixes reported by Michel Bagmeijer - pr2m: some string fixed and at last translated from E to D :) - removed few enforcer hits 12.1.2002 alpha4: - (partial) direct support of oop.library (oop4a project): - You can use: DEF obj('class') instead of: DEF obj=new('class') - deallocation of the class is done automaticaly on the procedure end, no need for: del(obj) - added german powerd.catalog by Olaf Groening (thanks!) - updated dmod tool to handle new binary module features - fixed struct and cunion saving in binary modules - fixed object loading from binary modules - number defined like a string ("xyz0") can now use also the "\j#" string extension - fixed global/local variable definition - SUB can now contain a variable/constant definition - IF x-- or WHILE x++ or similar do now work correctly - You can now use #else in conjunction with #ifdef/#ifndef and #endif - bugfixes reported by Michel Bagmeijer - no more 'OPT WB' is needed for the click-on-icon-launching, all the startup headers (except some selected) do now contain a wbmessage handler which makes it possible to launch a compiler proggy from workbench. Each header is from this reason 126 or 128 bytes longer. - fixed gadgets/layout.m module 17.2.2002 alpha5: - inlined assembly (ASM/ENDASM) didn't work at all, fixed - PowerPC inlined assembly can now use constants (eg.: addi r3,r4,CONST) - added support for multi dimensional items in objects (upto 3d) - improved TDEF support - binary modules supports now OFFSET/RELOFS/ALIGN keywords in OBJECTs - You can now use a[][]:CHAR instead of a:PTR TO PTR TO CHAR in OBJECTs and variable DEFinitions - multiple pointers do now work correctly a[][]:CHAR can be accessed with c:=a[x][y] correctly - fixed a stack problem with functions as function arguments (68k and ppc) - fixed ieee Pow() function - added F2I() function (double to integer conversion with rounding) - added Rnd() and RndQ() functions for ppc - Rnd() doesn't produce exactly the same results as 68k function, reason: cpu differences 68k generates carry bit as unsigned operation, while ppc as signed - improved preprocessor, macros without arguments are now allowed: '#define macro() xyz' - bugfixes reported by Michel Bagmeijer - fixed createlib.html - removed some enforcer hits - h2m now supports structs with names defined at the end of the struct - modules are now OS3.9 compatible - modules are not included in this alpha update, download it from: www.volny.cz/kuchinka - updated ifunc.html - a small fix of fd2m - bugfixes reported by Miklos Nemeth - no more phxlnk needed, PowerD use now only the vlink - movea.b bug fixed - bugfixes reported by Kai Wolf - fixed a bug or newer modules message 13.4.2002 alpha6: - You can replace (not only) powerd.lib functions just by defining them - fixed length arg in RealStr() function - fixed EStrCopy(), EStringF() functions - improved support of OOP4A project - You are allowed to use directly: var.func(args) instead of domethode(var,'func',args) - added ppc functions: EStringF(), RealStr(), RealEStr() - added/fixed all the quoted-expression functions: Eval(), MapList(), ForAll(), Exists(), SelectList() - 68k only!!!, ppc knows currently only Eval() - bugfixes reported by Marco Antoniazzi - IF (~x) compiled wrong - IF (a) AND ~(b) compiled wrong - NOR and NAND keywords do now work - added '#include' preprocessor keyword - fixed assembler error when EXCEPTDO without Raise() occured - bugfixes reported my Kai Wolf - fixed a bug of too many args... - bugfixes reported by Michel Bagmeijer - Rem() isn't supported anymore - DC can now compile also data only sources without any procedures - added syntax error when 'CASE something:' used. (if the colon is used) - bugfixes reported by Nemeth Miklos - added a warning when assigning a value to an array (not item of array) 16.6.2002 alpha7: - added a ddbg tool to debug Your sources!!!!! :) - everything located in ddbg drawer - currently heavily unusable and buggy - read the ddbg.readme first to know how the things should go - fixed assembler error when EXCEPTDO without Raise() occured in ppc code generator - fixed eight enforcer hits - when compiling a library, the library is placed in source's directory - a bit fixed line statement in error reporting - prohibited JUMPing to another procedure - renumbered warnings, now starts with 900 - a bit updated error.html - fixed IF for ppc - fixed UWord() for 68k - fixed some structure scanning, added new error messages - debug file do at last support (not yet finished) debugger :) - END do now check, if allocation (NEW) was successful - added error message, when SUB is called and not found - fixed [~CONST]:x (CONSTants with single operators in lists) - bugfixes reported by Marco Antoniazzi - fixed a problem with DEF a: TYPE (the space between ':' and 'TYPE' caused a problem) - preprocessor didn't process correctly x:=y+/**/b(z) where b is a macro - fixed alignment in library generation - added relative path support for #include '*file' - added preprocessing for #included file - added OPT GM equivalent of GM/S argument for creation of external module - bugfixes reported by Nemeth Miklos - fixed the Store to array warning - fixed types in module generated when compiling a library - oop do work again (very limited) - improved startup files to make working link libs, that use SysBase instead of ExecBase - Added C-like CStrCmp() function - bugfixes reported by Michel Bagmeijer - added a warning when using JUMP keyword to jump out of procedure - added devices/newstyle.m module - added dutch catalog - fixed IF ~(x) in 68k and ppc - fixed IF `(x) in ppc - added KickVersion() for ppc - h2m: some improvements - local labels can now be same in different procedures - NEW a[x] do now allocate x*SIZEOF_a correctly - fixed some docs 25.6.2002 full 0.19: - fixed rexx/storage module - fixed one enforcer hit - fixed a lr storing problem with ppc, caused a crash - debug file do now support global variables - bugfixes reported by Michel Bagmeijer - '\xDf' changed to '\xDS' to get full name of day - bugfixes reported by Marco Antoniazzi - global labels didn't compile