docs: update CLAUDE.md — remove resolved constraints, update metrics
9 constraints resolved (2026-04-11~13), 3 remain. Test metrics updated: 483 RTL, 258 PRG tests, Harbour parity diff 0. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
37
CLAUDE.md
37
CLAUDE.md
@@ -68,9 +68,22 @@ cd ~/tmp && rm -f *.dbf __cte_*.dbf && /tmp/test_sql
|
||||
| 항목 | 상태 | 우회 방법 |
|
||||
|------|------|----------|
|
||||
| 세미콜론 IF...ENDIF | Five 파서 미지원 | 여러 줄로 분리 |
|
||||
| STATIC inside FUNCTION | local index 0 에러 | 모듈 레벨 STATIC 사용 |
|
||||
| LOCAL inside IF/FOR | gengo가 호이스트하지만 불안정 | 함수 최상단에 LOCAL 선언 |
|
||||
| 클로저 안에서 외부 변수 수정 | RefCell 기반 동작 | += 등 compound assign은 emitAssignExpr 경유 |
|
||||
| `{||}` / `{=>}` 함수 인자 내 | 파서가 빈 블록/해시를 인자 위치에서 파싱 실패 | 변수에 담아서 전달 |
|
||||
| CDX compound index 쓰기 | 읽기만 지원, 생성 불가 | NTX 사용 또는 Harbour로 CDX 생성 |
|
||||
|
||||
### 해결된 제약 (2026-04-11~13)
|
||||
|
||||
| 항목 | 커밋 |
|
||||
|------|------|
|
||||
| STATIC inside FUNCTION → panic | `5bfdc47` — Go 패키지 변수로 emit |
|
||||
| FIELD->NAME 빈 값 반환 | `e95afad` — GetAliasField 반환 타입 수정 |
|
||||
| OrdSetFocus(n) 무동작 | `e95afad` — 숫자→문자열 변환 수정 |
|
||||
| Break("string") RECOVER USING panic | `3adc9d7` — BreakValue duck-type dispatch |
|
||||
| SET INDEX TO a, b, c 마지막만 열림 | `3adc9d7` — 파서+gengo 다중 파일 지원 |
|
||||
| PCount() 항상 0 반환 | `3adc9d7` — CallerParamCount + Frame.paramCount |
|
||||
| OutStd()/OutErr() 미등록 | `e95afad` — RTL 등록 |
|
||||
| Date + Numeric panic | `6c53747` — NumInt→Numeric 확장 |
|
||||
| STATIC += / -= 단순 대입으로 처리 | `5bfdc47` — compound assign 지원 |
|
||||
|
||||
---
|
||||
|
||||
@@ -92,11 +105,23 @@ cd ~/tmp && rm -f *.dbf __cte_*.dbf && /tmp/test_sql
|
||||
|
||||
---
|
||||
|
||||
## 현재 지표 (2026-04-10)
|
||||
## 현재 지표 (2026-04-13)
|
||||
|
||||
- Go test: ALL PASS
|
||||
- RTL 함수: 417개
|
||||
- Go test: ALL PASS (14 packages)
|
||||
- RTL 함수: 483개
|
||||
- FiveSql2: 43/43 (100%)
|
||||
- Compat: 51/51 (100%)
|
||||
- Syntax test: 100/100
|
||||
- RDD test: 44/44
|
||||
- RTL test: 114/114
|
||||
- Harbour RDD parity: diff 0 (281-line NTX+CDX comparison)
|
||||
- Windows cross-compile: OK (five.exe 4.0MB)
|
||||
- Linux cross-compile: OK (five_linux 3.8MB)
|
||||
- @byref: 동작 (RefCell)
|
||||
- Mutable closure: 동작 (RefCell + EnsureLocalRef)
|
||||
- FIELD->NAME: 동작 (읽기/쓰기)
|
||||
- STATIC inside FUNCTION: 동작 (패키지 변수 + 함수 스코프 격리)
|
||||
- PCount(): 동작 (CallerParamCount)
|
||||
- Break/RECOVER USING: 동작 (BreakValue duck-type)
|
||||
- 파일 락킹: POSIX fcntl + Windows LockFileEx
|
||||
- INDEX 성능: Harbour 대비 12% faster (50k records)
|
||||
|
||||
Reference in New Issue
Block a user