Guenter Bartsch [email protected]
- DONE online help
- DONE translate forum posts, add useful information to README
- GadToolsSupport
- adapt all tutorials to 0.9.0
- OS* modules
-
subprograms
- check forward decl formal types
- varargs
-
OOP
- DONE interfaces
- DONE virtual functions
-
enums
-
assignment operators (+=, ...)
-
C like strings (tbd)
-
scanner: support multiple instances (IDE uses separate scanner instance)
-
code generator
- proc calls: only save registers that carry live values
- use movem to save/restore registers
- only save/restore registers on proc entry/exit that are actually used inside
- peephole optimizer
- cache (var) pointer temps
- escape analysis: keep local variables in registers only (m68kframe inReg)
- optimizing assembler (32 bit condition jumps, clr., ...)
- frame/var size >32KByte support
- register arguments
- SSA (static single assignment) intermediate form
- backend abstraction layer, enable alternative backends (RISC-V, ARM, x86, LLVM, ...)
- if / condition constant propagation (test w/ while)
- fix spilling
- translate.c: add #0, tmp ; mul *1 ; div / 1 ; ...
- optionally: initialize all variables to 0?
- T_Cast that results in NOP or simple MOVE: introduce T_TypeView node
-
create Icons for Binaries
-
support for IEEE Single and Double floating point
-
do stackswap only on demand
-
switch _brt, _aqb to commonrt
-
switch IDE to commonrt
-
DONE startup code: workbench startup
-
startup code: command line args
-
Exec error handling / traps
- division by zero
-
Memory management / garbage collection ? / DEALLOCATE
-
string handling
-
collections
-
DONE CTRL+C to stop the program at any time
-
DONE source level debugging
-
DONE tetris game freezes after some 3 minutes (ressource leak? )
-
MOD / protracker playback (maybe using https://aminet.net/package/mus/play/ptplayer)
-
open RTG custom screens
-
GadToolsSupport
-
DONE BUTTON
-
DONE CHECKBOX
-
DONE CYCLE
-
DONE INTEGER
-
DONE LISTVIEW
-
DONE MX
-
DONE NUMBER
-
DONE PALETTE
-
DONE SCROLLER
-
DONE SLIDER
-
DONE STRING
-
DONE TEXT
-
Menus
-
Keyboard shortcuts
-
-
gtlayout.library
-
asl.library
-
DONE block operations
- DONE mark
- DONE cut/copy/paste
-
linux TUI file dialog
-
find/replace dialog
- replace
- port TUI to amiga gadtools
-
horizontal scrolling
-
mouse cursor positioning
-
mark block in the IDE #28 #28
-
DONE workbench arguments (double click source code -> open file in IDE)
-
DONE auto-indent
-
DONE save
-
DONE compile/run
-
____ memory management
-
____ help system
-
DONE amiga menus
-
DONE DEL
-
DONE search
-
____ replace
-
____ block operations
-
DONE goto line
-
DONE show compiler error messages
-
____ terminal: use uint16_t where possible
-
support for modules written in BASIC
-
project tree / multi-file/-module projects
- source level step/next
- DONE ABS()
- DONE AND
- ____ ASC()
- DONE ATN()
- ____ BREAK ON
- ____ BREAK OFF
- ____ BREAK STOP
- DONE CALL
- ____ CBDL()
- ____ CHDIR
- DONE CHR$()
- DONE CINT()
- DONE CLEAR
- DONE CLNG()
- DONE CLOSE
- DONE CLS
- ____ COMMON
- DONE COS()
- ____ CSNG()
- ____ CVD()
- ____ CVI()
- ____ CVL()
- ____ CVS()
- DONE DATA
- DONE DATE$()
- DONE DECLARE FUNCTION
- DONE DECLARE SUB
- ____ DEF FN
- ____ DEFDBL
- DONE DEFINT
- DONE DEFLNG
- DONE DEFSNG
- DONE DEFSTR
- DONE DIM
- DONE END
- DONE EOF()
- DONE EQV
- DONE ERASE
- ____ ERL
- DONE ERR
- DONE ERROR
- DONE EXP()
- ____ FIELD
- ____ FILES
- DONE FIX()
- DONE FOR...NEXT
- DONE FRE()
- ____ GET#
- DONE GOSUB
- DONE GOTO
- ____ HEX$()
- DONE IF
- ____ IMP
- DONE INPUT
- ____ INPUT$()
- DONE INPUT #
- DONE INSTR()
- DONE INT()
- ____ KILL
- DONE LBOUND()
- DONE LEFT$()
- DONE LEN()
- DONE LET
- ____ LIBRARY
- ____ LIBRARY CLOSE
- DONE LINE INPUT
- DONE LINE INPUT#
- ____ LLIST
- ____ LOC()
- ____ LOF()
- DONE LOCATE
- DONE LOG()
- ____ LPOS()
- ____ LSET
- DONE MID$()
- ____ MKI$()
- ____ MKL$()
- ____ MKS$()
- ____ MKD$()
- DONE MOD
- ____ NAME
- DONE NEXT
- DONE NOT
- ____ OCT$()
- ____ ON BREAK
- DONE ON ERROR
- ____ ON GOSUB
- ____ ON GOTO
- DONE OPEN
- ____ OPTION BASE
- ____ OR
- DONE PEEK()
- DONE PEEKL()
- DONE PEEKW()
- DONE POKE
- DONE POKEL
- DONE POKEW
- ____ PUT
- DONE PRINT
- DONE PRINT #
- ____ PRINT USING
- DONE RANDOMIZE
- DONE READ
- DONE REM
- DONE RESTORE
- ____ RESUME
- DONE RETURN
- DONE RIGHT$()
- DONE RND()
- ____ RSET
- ____ SADD()
- ____ SAVE
- DONE SGN()
- ____ SHARED
- DONE SIN()
- DONE SPACE$()
- DONE SPC() // FIXME: move cursor right instead of inserting spaces
- DONE SQR()
- DONE STATIC
- DONE STR$()
- DONE STRING$()
- ____ SUB
- DONE SWAP
- DONE SYSTEM
- ____ TAB()
- DONE TAN()
- DONE TIME$()
- DONE UBOUND()
- DONE UCASE$()
- DONE VAL()
- DONE VARPTR()
- DONE WEND
- DONE WHILE
- ____ WIDTH
- DONE WRITE
- DONE WRITE#
- DONE AREA
- DONE AREAFILL
- DONE AREA OUTLINE
- ____ BEEP
- DONE CIRCLE
- ____ COLLISION ON
- ____ COLLISION OFF
- ____ COLLISION STOP
- ____ COLLISION()
- DONE COLOR
- DONE CSRLIN()
- DONE GET
- DONE INKEY$
- DONE LINE
- ____ LPRINT
- ____ MENU
- ____ MENU RESET
- ____ MENU ON
- ____ MENU OFF
- ____ MENU SOP
- ____ MENU()
- DONE MOUSE ON
- DONE MOUSE OFF
- ____ MOUSE STOP
- DONE MOUSE()
- ____ OBJECT.AX
- ____ OBJECT.AY
- ____ OBJECT.CLOSE
- ____ OBJECT.HIT
- ____ OBJECT.OFF
- ____ OBJECT.ON
- ____ OBJECT.PRIORITY
- ____ OBJECT.SHAPE
- ____ OBJECT.START
- ____ OBJECT.STOP
- ____ OBJECT.VX
- ____ OBJECT.VX()
- ____ OBJECT.VY
- ____ OBJECT.VY()
- ____ OBJECT.X
- ____ OBJECT.X()
- ____ OBJECT.Y
- ____ OBJECT.Y()
- ____ ON COLLISION
- ____ ON MENU
- DONE ON MOUSE
- DONE ON TIMER
- DONE PAINT
- DONE PALETTE
- DONE PATTERN
- DONE POINT
- DONE POS
- ____ PRESET
- DONE PSET
- ____ PTAB
- DONE PUT [STEP]
- ____ SAY
- DONE SCREEN
- DONE SCREEN CLOSE
- ____ SCROLL
- DONE SLEEP
- DONE SOUND
- DONE SOUND WAIT
- ____ SOUND RESUME
- ____ STICK()
- ____ STRIG()
- DONE TIMER ON
- DONE TIMER OFF
- ____ TIMER STOP
- ____ TRANSLATE$()
- DONE WAVE
- ____ WIDTH LPRINT
- DONE WINDOW
- DONE WINDOW CLOSE
- DONE WINDOW OUTPUT
- DONE WINDOW()
-
include examples from blackborn66 https://github.com/blackborn66/aqb-tests-demos
-
EGads
-
Benchmarks: sieve, fractals
-
AMIGA hand
-
ISO game engine
-
BASICPaint
-
Linked List
-
Function Plotter
- 2D
- 3D
-
CCGames
-
M&T Book Examples
-
AMOS / Blitz Libraries