Data General ALGOL Notes ======================== Fixes ----- - MOVSTR now correctly updates string size (MOVES.WH[SR]) - ERROR routine now creates correct string specifier (ERROR.WH[SR]) Enhancements ------------ - added SYSTEM procedure (compatible with DG/L) - added XCT1 procedure (compatible with DG/L) Comments and Notes ------------------ - Compiler accepts /* ... */ as comment in addition to COMMENT statement; - input characters masked to 7 bits; - source input lines terminated with and ; - source input [<011>] are expanded; - DG CHAIN procedure error handling is bad - FATAL or RT IO error not Eclipse or MV compatible(?) - ALGOL compiler source code characters have even parity in some places which confuses ASM or MAC assembler (old RDOS stripped parity, RDOS > ~7.1 kept parity!) - DG 2.08 is 2.10 octal, DG set it in wrong radix - ALGOLWH.LB created with ERROR, MOVESTR, SYSTEM and XCT1 updates Maintenance Notes ----------------- - SYSTEM.WH [SR] created - XCT1.WH [SR] created - MOVES.WH [SR] created main string variable current size not properly updated MOVES.SR USGT should be USGE - ERROR.WH [SR] created bad parameter specifier for string (2 vs 3 word) - SYSTEST.WH [AL] created - XCT1TEST.WH [AL] created Possible projects ----------------- - DG/L-harmony (RDOS) GCHANNEL [ ( ERROR_LABEL ) ] GCINPUT [ ( ERROR_LABEL ) ] GCOUTPUT [ ( ERROR_LABEL ) ] XCT2( INSTRUCTIONR8P2, AC0, AC1, AC2, AC3, CARRY [, SKIP_LABEL] ) ARGCOUNT() ERETURN( ERROR_NUMBER [, ERROR_LABEL ] ) SYSRETURN [ ( ERROR_LABEL ) ] READCHAR [ ( ERROR_LABEL ) ] GETCHAR [ ( ERROR_LABEL ) ] PUTCHAR( character [, ERROR_LABEL ] ) OEBL ODIS - determine side-effects (if any) of ANOP definition in ALGOL code Eclipse: 100010 (octal) MV: 100011 (octal) - Multi-tasking (woohoo!) - save/trace compiler intermediate file, separate tree-walker program - ALGOL port to MP/OS, MP/AOS, AOS, AOS/VS[II] (RDOS syscall translator?) 2023-Feb-05 2023-Mar-04 7-bit strip reconstruct official release save intermediate files (i.e. /I global switch for .<$1,$$>) multi-level include post-optimization options RTL fixes RTL additions N/E compiler differences, H/SMPYD N/E RTL differences, H/SMPYD, LDB/STB dynamic N/E determination, hardware FPU Eclipse instruction use for performance (i.e. CLM, BLM, etc.) Extended ASM versus MAC use DG/L-style ECL instruction emulation for Nova update RTL routine name/summary automatic overlay calls consistent numbering scheme Position: common compiler/runtime for all DG OSes single source, simple, line terminator: versus , [?] Patch # 1: Preserve ALG.$1 and ALG.$$ temporary files: (make ALGOL.SV command line option?) AL2.SV 445 + 464/ 6017 403 445 + 471/ 6017 403 Patch # 2: Execute AL1.SV and/or AL2.SV with debug address. Possible ALGOL Roadmap - establish DG product baseline from DG master tapes . compiler . 8-bit strip . N/E compiler differences . RTL . 2.11 update incorporated? . N/E RTL differences . releases . compiler official release . RTL official releases . date/time stamp harmony - product continuation . dev/maint environment . fixes . compiler (any known problems?) . RTL . separate WH .LIB . fix 'master' sources . enhancements . WH routines (XCT1, SYS, etc.) . deployment