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:
16
include/hbclass.ch
Normal file
16
include/hbclass.ch
Normal 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
35
include/hboo.ch
Normal 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
42
include/tbrowse.ch
Normal 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
|
||||
Reference in New Issue
Block a user