|
|
6ffcf77dd8
|
fix: Phase 3 — #25,28,29,41 token/AST/parser cleanup
Files modified (4):
compiler/token/token.go — #25: Replace hand-rolled itoa with strconv.Itoa
Fixes math.MinInt overflow bug in original implementation
compiler/ast/ast.go — #29: Fix VarDecl.End() returning last var position
Was returning Pos() (useless span info)
compiler/parser/stmtreg.go — #28: Eliminate all 7 token array mutations
rewriteAsIdent() modifies p.current only, not the token array
Prevents backtracking corruption and improves safety
compiler/lexer/lexer.go — Already clean from Phase 2
Issues resolved: #25 (MEDIUM), #28 (MEDIUM), #29 (MEDIUM), #41 partial (LOW)
Total fixed: 29/53
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-01 11:58:20 +09:00 |
|
|
|
f950cb0784
|
fix: Phase 2 — HIGH #6,9,10,11,12,19,23,32,46,47
Files modified (5):
compiler/gengo/gengo.go — #6,#32: Deduplicate 3 Generate functions into 1
doGenerate(file, debug, library) replaces 170 lines of copy-paste
Dead GenerateDebug method removed
cmd/five/main.go — #9,10,11,12: Fix 5 silently ignored errors
filepath.Abs, tidy.Run, tidyCmd.CombinedOutput now checked
hbrtl/strings.go — #19: Str() now reads caller's nWidth/nDec params
Was ignoring explicit Str(123, 10, 2) arguments
compiler/pp/pp.go — #46: Fix stale "NOT implemented" comment
#47: Extract maxIncludeDepth constant
compiler/lexer/lexer.go — #23: Remove unused LookupKeyword result
Issues resolved: 10 (HIGH: 7, MEDIUM: 3)
Total fixed: 26/53
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-01 11:47:26 +09:00 |
|
|
|
d7513eeb24
|
fix: Code review round 2 — race conditions, dead code, hardcoded paths
CRITICAL fixes:
- #1 vm.go: Mutex on libModules/dynamicFuncs global slices
RegisterLibModule/RegisterDynamicFunc now thread-safe
RegisterLibModules copies under lock, clears, releases
- #4 shutdown.go: Signal handler goroutine leak fixed
Uses done channel + select for clean exit on normal shutdown
HIGH fixes:
- #7-8 gobridge.go: Remove dead if/else branches (both identical)
- #13-14 main.go: Remove hardcoded /mnt/d/harbour-core paths
Use HB_INC env var + standard /usr/local/include/harbour only
- #15 main.go: Remove unused frbModSeq variable
MEDIUM fixes:
- #22 expr.go: Remove unused parts variable in parseInterpolatedString
- #51 macro.go: Remove var _ = fmt.Sprintf import guard
- macroeval.go: Remove unused lexer import and guard
Total fixed this session: 12/53 issues resolved
Remaining: 41 (CRITICAL: 1, HIGH: 9, MEDIUM: 16, LOW: 16)
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-04-01 10:32:09 +09:00 |
|
|
|
0828d17159
|
feat: Harbour RTL vs Go math comparison example + analyzer IMPORT fix
- examples/go_math_compare.prg: Side-by-side comparison of
Harbour RTL (Abs, Sqrt, Round, Int, Max, Min, Log, Exp, Mod)
vs Go math package (Sin, Cos, Pow, Pi, Floor, Ceil, Hypot, ...)
- Combined usage: normal distribution, compound interest, distance
- Analyzer: recognize IMPORT package names as valid identifiers
- Analyzer: add math RTL functions (ABS, SQRT, etc.) to known list
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
2026-03-31 10:35:40 +09:00 |
|
|
|
59568f3301
|
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>
|
2026-03-31 09:41:50 +09:00 |
|