Five v0.9 — Harbour + Go fusion language

- 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>
This commit is contained in:
2026-03-31 09:41:50 +09:00
commit 59568f3301
282 changed files with 66658 additions and 0 deletions

16
include/hbclass.ch Normal file
View File

@@ -0,0 +1,16 @@
/*
* hbclass.ch — Five compatibility header
*
* Five's parser handles CLASS syntax natively:
* CREATE CLASS, DATA, VAR, METHOD, ACCESS, ASSIGN,
* ENDCLASS, EXPORTED:, HIDDEN:, PROTECTED:, CLASS VAR, etc.
*
* No #xcommand translation needed — this file is intentionally minimal.
*/
#ifndef HB_CLASS_CH_
#define HB_CLASS_CH_
#include "hboo.ch"
#endif

35
include/hboo.ch Normal file
View File

@@ -0,0 +1,35 @@
// Harbour OO constants — Five compatible
// Source: /mnt/d/harbour-core/include/hboo.ch
#ifndef HB_OO_CH_
#define HB_OO_CH_
#define HB_OO_CLSTP_EXPORTED 1
#define HB_OO_CLSTP_PROTECTED 2
#define HB_OO_CLSTP_HIDDEN 4
#define HB_OO_CLSTP_CTOR 8
#define HB_OO_CLSTP_READONLY 16
#define HB_OO_CLSTP_SHARED 32
#define HB_OO_CLSTP_CLASS 64
#define HB_OO_CLSTP_SUPER 128
#define HB_OO_CLSTP_PERSIST 256
#define HB_OO_CLSTP_NONVIRTUAL 512
#define HB_OO_CLSTP_OVERLOADED 1024
#define HB_OO_CLSTP_SYNC 2048
#define HB_OO_MSG_DATA 1
#define HB_OO_MSG_METHOD 2
#define HB_OO_MSG_CLASSDATA 3
#define HB_OO_MSG_CLASSMETHOD 4
#define HB_OO_MSG_INLINE 5
#define HB_OO_MSG_VIRTUAL 6
#define HB_OO_MSG_SUPER 7
#define HB_OO_MSG_ONERROR 8
#define HB_OO_MSG_DESTRUCTOR 9
#define HB_OO_MSG_DELEGATE 10
#define HB_OO_MSG_REALCLASS 11
#define HB_OO_MSG_PERFORM 12
#define HB_OO_MSG_ACCESS 13
#define HB_OO_MSG_ASSIGN 14
#endif

42
include/tbrowse.ch Normal file
View File

@@ -0,0 +1,42 @@
// TBrowse internal constants — Five compatible
// Source: /mnt/d/harbour-core/src/rtl/tbrowse.prg
#ifndef TBROWSE_CH_
#define TBROWSE_CH_
// Column info array indices
#define _TBCI_COLOBJECT 1
#define _TBCI_COLWIDTH 2
#define _TBCI_COLPOS 3
#define _TBCI_CELLWIDTH 4
#define _TBCI_CELLPOS 5
#define _TBCI_COLSEP 6
#define _TBCI_SEPWIDTH 7
#define _TBCI_HEADING 8
#define _TBCI_FOOTING 9
#define _TBCI_HEADSEP 10
#define _TBCI_FOOTSEP 11
#define _TBCI_DEFCOLOR 12
#define _TBCI_FROZENSPACE 13
#define _TBCI_LASTSPACE 14
#define _TBCI_SIZE 14
// Color indices
#define _TBC_CLR_STANDARD 1
#define _TBC_CLR_SELECTED 2
#define _TBC_CLR_HEADING 3
#define _TBC_CLR_FOOTING 4
#define _TBC_CLR_MAX 4
// Configuration flags
#define _TBR_CONF_COLORS 1
#define _TBR_CONF_COLUMNS 2
#define _TBR_CONF_ALL 3
#define _TBR_CHR_LINEDELIMITER ";"
// Note: _TBR_COORD(n) is a parameterized macro: Int(n)
// Five's PP doesn't support function-like macros yet.
// The parser handles Int() as a function call directly.
#endif