- Compiler: PP → Lexer → Parser → Analyzer → Gengo pipeline - Parser: 232/236 (98%) Harbour compatibility, registry-based dispatch - RTL: 351 Harbour-compatible functions - RDD: DBF/NTX/CDX engines with Rushmore bitmap optimization - Go Interop: IMPORT + pkg.Func() + obj:Method() with FastPath (15M calls/sec) - HB_FUNC API: Full Harbour C API compatible Go bridge - Concurrency: SPAWN/LAUNCH/GOROUTINE, <-, WATCH, PARALLEL FOR, ASYNC/AWAIT - Extensions: Multi-return, DEFER, Slice, f-string, Nil-safe ?:, CONST - Macro Compiler: Runtime AST parsing and evaluation - Debugger: TUI debugger with source display, breakpoints, stepping - FRB: Native + Pcode dual mode runtime binary - Tests: 13 packages ALL PASS Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
27 lines
540 B
Plaintext
27 lines
540 B
Plaintext
// Test program for AChoice function
|
|
|
|
FUNCTION Main()
|
|
LOCAL aItems, nChoice
|
|
|
|
aItems := {"Apple", "Banana", "Cherry", "Date", "Elderberry", ;
|
|
"Fig", "Grape", "Honeydew", "Kiwi", "Lemon", ;
|
|
"Mango", "Nectarine", "Orange", "Papaya", "Quince"}
|
|
|
|
CLS
|
|
SetCursor(0)
|
|
SetPos(0, 0)
|
|
DevOut("Select a fruit (ESC to cancel):")
|
|
|
|
nChoice := AChoice(2, 5, 12, 30, aItems)
|
|
|
|
CLS
|
|
SetCursor(1)
|
|
|
|
IF nChoice = 0
|
|
? "Cancelled"
|
|
ELSE
|
|
? "You selected:", aItems[nChoice]
|
|
ENDIF
|
|
|
|
RETURN NIL
|