NEXT
+-----------------------------------------------+
| |
| Amiga E v3.3a |
| Compiler for The E Language |
| By Wouter van Oortmerssen |
| |
+-----------------------------------------------+
Contents:
0. compiler and introduction
A. introduction
B. the distribution
C. demo restrictions, registration and sites
D. installing/using the compiler
E. changes / history / new features
F. additional information
1. format
A. tabs,lf etc.
B. comments
C. identifiers and types
2. immediate values
A. decimal (1)
B. hexadecimal ($1)
C. binary (%1)
D. float (1.0)
E. character
F. strings ('bla')
G. lists ([1,2,3]) and typed lists
H. lisp-cells (<a|b>)
3. expressions
A. format
B. precedence and grouping
C. types of expressions
D. function calls
4. operators
A. math (+ - * /)
B. comparison (= <> > < >= <=)
C. logical and bitwise (AND OR)
D. unary (SIZEOF ` ^ {} ++ -- -)
E. triple (IF THEN ELSE)
F. structure (.)
G. array ([])
H. float operator (!)
I. assignments expressions (:=)
J. sequencing (BUT)
K. dynamic memory allocation (NEW)
L. unification (<=>)
M. pointer typing (::)
5. statements
A. format (;)
B. statement labels and gotos (JUMP)
C. assignment (:=)
D. assembly mnemonics
E. conditional statement (IF)
F. for-statement (FOR)
G. while-statement (WHILE)
H. repeat-statement (REPEAT)
I. loop-statement (LOOP)
J. select-case-statement (SELECT)
K. increase statement (INC/DEC)
L. void expressions (VOID)
M. memory deallocation (END)
6. function definitions and declarations
A. proc definition and arguments (PROC)
B. local and global definitions: scope (DEF)
C. endproc/return
D. the `main' function
E. built-in system variables
F. default arguments to functions
G. multiple return values
H. function values
7. declaration of constants
A. const (CONST)
B. enumerations (ENUM)
C. sets (SET)
D. built-in constants
8. types
A. about the `type' system
B. the basic type (LONG/PTR)
C. the simple type (CHAR/INT/LONG)
D. the array type (ARRAY)
E. the complex type (STRING/LIST)
F. the compound type (OBJECT)
G. initialisation
H. the essentials of the E typesystem
9. built-in functions
A. io functions
B. strings and string functions
C. lists and list functions
D. intuition support functions
E. graphics support functions
F. system support functions
G. math and other functions
H. string and list linking functions
I. lisp-cells and cell functions
10. library functions and modules
A. built-in library calls
B. interfacing to the amiga system with the v40 modules
C. compiling own modules
D. the modulecache
11. quoted expressions
A. quoting and scope
B. Eval()
C. built-in functions
12. floating point support
A. float values
B. computing with floats
C. builtin float functions
D. float implementation issues
13. Exception handling
A. defining exception handlers (HANDLE/EXCEPT)
B. using the Raise() function
C. defining exceptions for built-in functions (RAISE/IF)
D. use of exception-ID's
14. OO programming
A. OO features in E
B. object inheritance
C. data hiding (EXPORT/PRIVATE/PUBLIC)
D. methods and virtual methods
E. Constructors, Destructors and Super-Methods (NEW,END,SUPER)
15. inline assembly
A. identifier sharing
B. the inline assembler compared to a macro assembler
C. ways using binary data (INCBIN/CHAR..)
D. OPT ASM
E. Inline asm and register variables
16. technical and implementation issues
A. the OPT keyword
B. small/large model
C. stack organisation
D. hardcoded limits
E. error messages, warnings and the unreferenced check
F. compiler buffer organisation and allocation
G. register allocation
17. Essential E Utilities / Applications
A. ShowModule
B. ShowHunk
C. Pragma2Module / Iconvert
D. ShowCache / FlushCache
E. ecompile.rexx
F. o2m
G. E-Yacc
H. SrcGen
I. EBuild
J. EE / Aprof
K. EDBG
L. EC PreProcessor
M. EC Library mode
18. Appendices
A. E Grammar description
B. Tutorial
C. Mapping E to C/C++/Pascal/Ada/Lisp etc.
D. Amiga E FAQ
E. TODO/BUG list
Converted using GuideML V1.4, a converter written by Richard Körber <shred@chessy.aworld.de>