OS4Depot.net 20130227_1013
  Home Search Mirrors Contact Info Credits

 Readme data for Root » Development » Language » ecx.lha

Description: E compiler X
Install: ecx.lha
Size: 1Mb 5
Version: 2.0
Date: 04 Dec 08
Author: Leif Salomonsson
Submitter: Steven Solie
Email: ssolie/telus net
Homepage: http://blubbedev.net/ecx/
Category: development/language
License: Other
Distribute: yes
Min OS Version: 4.0
   ECX is an E Compiler written from scratch in E, it supports
   68020+FPU and PowerPC CPUs, AmigaOS3, MorphOS and AmigaOS4
   operating systems.

   High source as well as binary compatibility, together with many
   improvements over previous implementations of the language.

   More here: http://blubbedev.net/ecx/


   INSTALLATION
   ============

   You will want to install the AmigaE package, if not done
   already: dev/e/amigae33a.lha. ECX makes use of the v40 modules
   through the emodules: assign. Rest of installation is described
   in ecx.guide.


ECX v55 (2.0.0) - November 2008
--------------------------------------------------------

- Increased fantasticness levels with about 289%.

- Includes updated mui modules for MUI4 (MorphOS).

- Added various MorphOS 2 specific modules.

- Did some changes to how ECX searches for modules.
  This to ease portability.

- ECX now uses environment variables to describe dirs
  of different targets.

- Experimental support for AmigaOS4,PPC.

- Unreferenced check was disabled by QUIET/S, fixed.

- NILCHECK/S option now will automatically generate code that puts
  NIL in uninitialised local variables (globals are always NIL:ed).

- Some fixes to 68k code generation.

- Immediate strings are now merged if possible.

- Made PPC Abs(),Max(),Min(),Sign(),Bounds() and int->float
  conversion inlined.

- Added multiple inheritance of objects (but only the first one
  may contain methods).

- Added commandline argument SHOWARGS/S.

- Bugs in 68k and ppc code generators concerning the specific
  immediate value $80000000, fixed.

- Added XOR, <<, >>, ~ operators. Kashmong! SHL is now deprecated.

- tools/thread.m (for 68k and ppc) would not work correctly in
  library mode, fixed. Thx UltrGelb.

- Implemented support for 64bit integers (WIDE) (PowerPC only
  for now). Kaching!!

- Made comments act as token separators. Thx Chris S Handley.

- MODNAME would not work correctly with LINKOBJECT mode.

- Added formattingcodes ~, H, D.

- Added LINENUM and READWRITE constants.

- Added preprocessor symbols _DATE_, __TIME__, __DATE__, __TARGET__,
  __AMIGAOS__, __AMIGAOS4__, __MORPHOS__, __M68K__, __PPC__

- Improved STRLEN keyword, now handles combined (+) strings
  (unlike EC/CreativE).

- Added preprocessor directives #fmtstr, #warning, #error, #elif(n)def.

- Added keywords IFN, ELSEIFN, WHILEN, UNTILN, EXITN, a feature
  I yoinked from PowerD language.

- Bug in defined variable function made var() without args not
  work, fixed.

- Preprocessor did not expand arguments also _before_ inclusion
  into body, fixed. thx UltraGelb.

- Bugs in method inheritation, fixed.

- 68k division operator generated broken code, fixed.

- Defined variable function could not have init value, fixed.

- Removed #include directive. it was wrongly documented anyway
  and nobody complained about it so i guess no harm. Once I had
  idea for its usage, but it no longer serves any purpose.

- New tool, "CeeModule", lets you view modules in a C header kinda way.

- New tool, "MakeLibMod", replaces ModuleFromFD and ModuleFromProto.

- ENUM did not handle negative values correctly, fixed.

- PPC Byte() did not sign extend, fixed.

- More OOP bugs fixed.

- 68k integer to float conversion rounded to nearest, now rounds
  towards zero. OPT ROUNDNEAR can be used in 68k and ppc mode to
  change rounding behaviour. ECX also now recognices CreativEs
  OPT FPEXP and then switches on ROUNDNEAR for compatibility.

- Whole range of 68k Fxxx() functions had broken return values.


   About AmigaOS4 support.
   Everything except library mode and automatic ppc<->68k glue code
   insertion, is implemented. The latter should be avoided anyway.
   Modules for new OS4 OS structures and such are mostly missing, but
   can be added by anyone really. For now the v40 (OS 3.1) modules should
   be enough to do alot of stuff. The support is to be considered
   *experimental*. I do not have OS4 myself to test on, instead I made
   use of OS4Emu for some initial basic testing and then I have got some
   feedback from people using it on OS4. Any further work on OS4 support
   will depend on feedback and interest from OS4 users. Bon Apetite.


+-------------------------------------------------------------------+
|  Distribution                                                     |
+-------------------------------------------------------------------+

   The archive ecx.lha may be distributed freely, as long as the
   contents and name of the archive remains intact and unmodified.



Leif Salomonsson -- November 2008






Copyright (c) 2004-2013 Björn Hagström. All rights reserved.
OS4 and its logos are registered trademarks of Hyperion Entertainment