Files
five/_FiveSql2/bin/.hbmk/linux/gcc/test_parser2.c
Charles KWON OhJun 486e466592 feat: FiveSql2 43/43, @byref, mutable closure, RTL 479, DateTime fix
Major changes since last commit:
- FiveSql2 SQL:1999 engine (10,458 LOC) — 43/43 ALL PASS
- 21 compiler/runtime bugs fixed (short-circuit AND/OR, FOR LOOP, etc.)
- @byref pass-by-reference via RefCell pattern
- Mutable closure capture (EnsureLocalRef + RefCell sharing)
- RTL: 400 → 479 functions (+79: file, string, datetime, hash, UTF-8)
- DateTime/Timestamp fully working (hb_DateTime, hb_Hour/Min/Sec, display)
- Reserved word guard (39 keywords blocked from function calls)
- AEval arg order fix (element before index)
- Closure capture redecl fix (unique _cap_ names per block)
- Hash/string indexing in ArrayPush/ArrayPop
- Harbour compat test suite: 51/51
- 4 docs: Porting Report, Implementation Plan, Optimization Plan, Commercialization

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-11 11:35:37 +09:00

280 lines
12 KiB
C

/*
* Harbour 3.2.0dev (r2510040809)
* GNU C 13.3 (64-bit)
* Generated C source from "test/test_parser2.prg"
*/
#include "hbvmpub.h"
#include "hbinit.h"
HB_FUNC( MAIN );
HB_FUNC_EXTERN( FERASE );
HB_FUNC_EXTERN( DBCREATE );
HB_FUNC_EXTERN( DBUSEAREA );
HB_FUNC_EXTERN( DBAPPEND );
HB_FUNC_EXTERN( FIELDPUT );
HB_FUNC_EXTERN( DBCOMMIT );
HB_FUNC_EXTERN( DBCLOSEALL );
HB_FUNC_EXTERN( DBSELECTAREA );
HB_FUNC_EXTERN( __SETFORMAT );
HB_FUNC_EXTERN( QOUT );
HB_FUNC_EXTERN( FIVE_SQL );
HB_FUNC_EXTERN( VALTYPE );
HB_FUNC_EXTERN( LEN );
HB_FUNC_EXTERN( HB_NTOS );
HB_INIT_SYMBOLS_BEGIN( hb_vm_SymbolInit_TEST_PARSER2 )
{ "MAIN", {HB_FS_PUBLIC | HB_FS_FIRST | HB_FS_LOCAL}, {HB_FUNCNAME( MAIN )}, NULL },
{ "FERASE", {HB_FS_PUBLIC}, {HB_FUNCNAME( FERASE )}, NULL },
{ "DBCREATE", {HB_FS_PUBLIC}, {HB_FUNCNAME( DBCREATE )}, NULL },
{ "DBUSEAREA", {HB_FS_PUBLIC}, {HB_FUNCNAME( DBUSEAREA )}, NULL },
{ "DBAPPEND", {HB_FS_PUBLIC}, {HB_FUNCNAME( DBAPPEND )}, NULL },
{ "FIELDPUT", {HB_FS_PUBLIC}, {HB_FUNCNAME( FIELDPUT )}, NULL },
{ "DBCOMMIT", {HB_FS_PUBLIC}, {HB_FUNCNAME( DBCOMMIT )}, NULL },
{ "DBCLOSEALL", {HB_FS_PUBLIC}, {HB_FUNCNAME( DBCLOSEALL )}, NULL },
{ "DBSELECTAREA", {HB_FS_PUBLIC}, {HB_FUNCNAME( DBSELECTAREA )}, NULL },
{ "__SETFORMAT", {HB_FS_PUBLIC}, {HB_FUNCNAME( __SETFORMAT )}, NULL },
{ "QOUT", {HB_FS_PUBLIC}, {HB_FUNCNAME( QOUT )}, NULL },
{ "FIVE_SQL", {HB_FS_PUBLIC}, {HB_FUNCNAME( FIVE_SQL )}, NULL },
{ "VALTYPE", {HB_FS_PUBLIC}, {HB_FUNCNAME( VALTYPE )}, NULL },
{ "LEN", {HB_FS_PUBLIC}, {HB_FUNCNAME( LEN )}, NULL },
{ "HB_NTOS", {HB_FS_PUBLIC}, {HB_FUNCNAME( HB_NTOS )}, NULL }
HB_INIT_SYMBOLS_EX_END( hb_vm_SymbolInit_TEST_PARSER2, "test/test_parser2.prg", 0x0, 0x0003 )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup hb_vm_SymbolInit_TEST_PARSER2
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( hb_vm_SymbolInit_TEST_PARSER2 )
#include "hbiniseg.h"
#endif
HB_FUNC( MAIN )
{
static const HB_BYTE pcode[] =
{
13,3,0,36,6,0,121,80,2,121,80,3,36,8,
0,176,1,0,106,14,101,109,112,108,111,121,101,101,
115,46,100,98,102,0,20,1,176,1,0,106,11,111,
114,100,101,114,115,46,100,98,102,0,20,1,36,9,
0,176,2,0,106,14,101,109,112,108,111,121,101,101,
115,46,100,98,102,0,106,3,73,68,0,106,2,78,
0,92,10,121,4,4,0,106,5,78,65,77,69,0,
106,2,67,0,92,30,121,4,4,0,106,5,68,69,
80,84,0,106,2,67,0,92,20,121,4,4,0,106,
7,83,65,76,65,82,89,0,106,2,78,0,92,12,
92,2,4,4,0,106,7,77,71,82,95,73,68,0,
106,2,78,0,92,10,121,4,4,0,4,5,0,20,
2,36,10,0,176,3,0,120,100,106,14,101,109,112,
108,111,121,101,101,115,46,100,98,102,0,100,9,9,
20,6,36,11,0,176,4,0,20,0,176,5,0,122,
122,20,2,176,5,0,92,2,106,6,65,108,105,99,
101,0,20,2,176,5,0,92,3,106,12,69,110,103,
105,110,101,101,114,105,110,103,0,20,2,176,5,0,
92,4,93,64,31,20,2,176,5,0,92,5,121,20,
2,36,12,0,176,4,0,20,0,176,5,0,122,92,
2,20,2,176,5,0,92,2,106,4,66,111,98,0,
20,2,176,5,0,92,3,106,12,69,110,103,105,110,
101,101,114,105,110,103,0,20,2,176,5,0,92,4,
93,88,27,20,2,176,5,0,92,5,122,20,2,36,
13,0,176,4,0,20,0,176,5,0,122,92,3,20,
2,176,5,0,92,2,106,8,67,104,97,114,108,105,
101,0,20,2,176,5,0,92,3,106,12,69,110,103,
105,110,101,101,114,105,110,103,0,20,2,176,5,0,
92,4,93,112,23,20,2,176,5,0,92,5,122,20,
2,36,14,0,176,4,0,20,0,176,5,0,122,92,
4,20,2,176,5,0,92,2,106,6,68,105,97,110,
97,0,20,2,176,5,0,92,3,106,6,83,97,108,
101,115,0,20,2,176,5,0,92,4,93,76,29,20,
2,176,5,0,92,5,121,20,2,36,15,0,176,4,
0,20,0,176,5,0,122,92,5,20,2,176,5,0,
92,2,106,4,69,118,101,0,20,2,176,5,0,92,
3,106,6,83,97,108,101,115,0,20,2,176,5,0,
92,4,93,136,19,20,2,176,5,0,92,5,92,4,
20,2,36,16,0,176,6,0,20,0,176,7,0,20,
0,176,8,0,106,2,49,0,20,1,176,9,0,100,
20,1,36,17,0,176,2,0,106,11,111,114,100,101,
114,115,46,100,98,102,0,106,3,73,68,0,106,2,
78,0,92,10,121,4,4,0,106,7,69,77,80,95,
73,68,0,106,2,78,0,92,10,121,4,4,0,106,
8,80,82,79,68,85,67,84,0,106,2,67,0,92,
30,121,4,4,0,106,7,65,77,79,85,78,84,0,
106,2,78,0,92,12,92,2,4,4,0,4,4,0,
20,2,36,18,0,176,3,0,120,100,106,11,111,114,
100,101,114,115,46,100,98,102,0,100,9,9,20,6,
36,19,0,176,4,0,20,0,176,5,0,122,122,20,
2,176,5,0,92,2,122,20,2,176,5,0,92,3,
106,7,76,97,112,116,111,112,0,20,2,176,5,0,
92,4,93,196,9,20,2,36,20,0,176,4,0,20,
0,176,5,0,122,92,2,20,2,176,5,0,92,2,
122,20,2,176,5,0,92,3,106,8,77,111,110,105,
116,111,114,0,20,2,176,5,0,92,4,93,32,3,
20,2,36,21,0,176,4,0,20,0,176,5,0,122,
92,3,20,2,176,5,0,92,2,92,4,20,2,176,
5,0,92,3,106,8,80,114,105,110,116,101,114,0,
20,2,176,5,0,92,4,93,176,4,20,2,36,22,
0,176,6,0,20,0,176,7,0,20,0,176,8,0,
106,2,49,0,20,1,176,9,0,100,20,1,36,24,
0,176,10,0,106,25,61,61,61,32,84,83,113,108,
80,97,114,115,101,114,50,32,84,101,115,116,32,61,
61,61,0,20,1,36,25,0,176,10,0,20,0,36,
28,0,176,11,0,106,55,83,69,76,69,67,84,32,
110,97,109,101,44,32,115,97,108,97,114,121,32,70,
82,79,77,32,101,109,112,108,111,121,101,101,115,32,
87,72,69,82,69,32,115,97,108,97,114,121,32,62,
32,54,48,48,48,0,12,1,80,1,36,29,0,176,
12,0,95,1,12,1,106,2,65,0,8,28,65,176,
13,0,95,1,12,1,92,2,16,28,53,176,13,0,
95,1,92,2,1,12,1,92,3,16,28,38,174,2,
0,176,10,0,106,24,32,32,80,65,83,83,58,32,
49,32,83,105,109,112,108,101,32,83,69,76,69,67,
84,0,20,1,25,22,174,3,0,176,10,0,106,10,
32,32,70,65,73,76,58,32,49,0,20,1,36,30,
0,176,7,0,20,0,36,33,0,176,11,0,106,75,
83,69,76,69,67,84,32,101,46,110,97,109,101,44,
32,111,46,112,114,111,100,117,99,116,32,70,82,79,
77,32,101,109,112,108,111,121,101,101,115,32,101,32,
74,79,73,78,32,111,114,100,101,114,115,32,111,32,
79,78,32,101,46,105,100,32,61,32,111,46,101,109,
112,95,105,100,0,12,1,80,1,36,34,0,176,12,
0,95,1,12,1,106,2,65,0,8,28,56,176,13,
0,95,1,12,1,92,2,16,28,44,176,13,0,95,
1,92,2,1,12,1,92,2,16,28,29,174,2,0,
176,10,0,106,15,32,32,80,65,83,83,58,32,50,
32,74,79,73,78,0,20,1,25,22,174,3,0,176,
10,0,106,10,32,32,70,65,73,76,58,32,50,0,
20,1,36,35,0,176,7,0,20,0,36,38,0,176,
11,0,106,58,83,69,76,69,67,84,32,100,101,112,
116,44,32,67,79,85,78,84,40,42,41,32,65,83,
32,99,110,116,32,70,82,79,77,32,101,109,112,108,
111,121,101,101,115,32,71,82,79,85,80,32,66,89,
32,100,101,112,116,0,12,1,80,1,36,39,0,176,
12,0,95,1,12,1,106,2,65,0,8,28,60,176,
13,0,95,1,12,1,92,2,16,28,48,176,13,0,
95,1,92,2,1,12,1,92,2,16,28,33,174,2,
0,176,10,0,106,19,32,32,80,65,83,83,58,32,
51,32,71,82,79,85,80,32,66,89,0,20,1,25,
22,174,3,0,176,10,0,106,10,32,32,70,65,73,
76,58,32,51,0,20,1,36,40,0,176,7,0,20,
0,36,43,0,176,11,0,106,67,83,69,76,69,67,
84,32,110,97,109,101,32,70,82,79,77,32,101,109,
112,108,111,121,101,101,115,32,87,72,69,82,69,32,
105,100,32,73,78,32,40,83,69,76,69,67,84,32,
101,109,112,95,105,100,32,70,82,79,77,32,111,114,
100,101,114,115,41,0,12,1,80,1,36,44,0,176,
12,0,95,1,12,1,106,2,65,0,8,28,59,176,
13,0,95,1,12,1,92,2,16,28,47,176,13,0,
95,1,92,2,1,12,1,122,16,28,33,174,2,0,
176,10,0,106,19,32,32,80,65,83,83,58,32,52,
32,83,117,98,113,117,101,114,121,0,20,1,25,22,
174,3,0,176,10,0,106,10,32,32,70,65,73,76,
58,32,52,0,20,1,36,45,0,176,7,0,20,0,
36,48,0,176,11,0,106,91,87,73,84,72,32,116,
111,112,95,101,32,65,83,32,40,83,69,76,69,67,
84,32,110,97,109,101,44,32,115,97,108,97,114,121,
32,70,82,79,77,32,101,109,112,108,111,121,101,101,
115,32,87,72,69,82,69,32,115,97,108,97,114,121,
32,62,32,54,48,48,48,41,32,83,69,76,69,67,
84,32,42,32,70,82,79,77,32,116,111,112,95,101,
0,12,1,80,1,36,49,0,176,12,0,95,1,12,
1,106,2,65,0,8,28,55,176,13,0,95,1,12,
1,92,2,16,28,43,176,13,0,95,1,92,2,1,
12,1,92,3,16,28,28,174,2,0,176,10,0,106,
14,32,32,80,65,83,83,58,32,53,32,67,84,69,
0,20,1,25,22,174,3,0,176,10,0,106,10,32,
32,70,65,73,76,58,32,53,0,20,1,36,50,0,
176,7,0,20,0,36,53,0,176,11,0,106,99,87,
73,84,72,32,82,69,67,85,82,83,73,86,69,32,
110,117,109,115,32,65,83,32,40,83,69,76,69,67,
84,32,49,32,65,83,32,110,32,85,78,73,79,78,
32,65,76,76,32,83,69,76,69,67,84,32,110,43,
49,32,70,82,79,77,32,110,117,109,115,32,87,72,
69,82,69,32,110,60,53,41,32,83,69,76,69,67,
84,32,42,32,70,82,79,77,32,110,117,109,115,0,
12,1,80,1,36,54,0,176,12,0,95,1,12,1,
106,2,65,0,8,28,65,176,13,0,95,1,12,1,
92,2,16,28,53,176,13,0,95,1,92,2,1,12,
1,92,5,8,28,38,174,2,0,176,10,0,106,24,
32,32,80,65,83,83,58,32,54,32,82,101,99,117,
114,115,105,118,101,32,67,84,69,0,20,1,25,22,
174,3,0,176,10,0,106,10,32,32,70,65,73,76,
58,32,54,0,20,1,36,55,0,176,7,0,20,0,
36,58,0,176,11,0,106,83,83,69,76,69,67,84,
32,110,97,109,101,44,32,115,97,108,97,114,121,44,
32,82,79,87,95,78,85,77,66,69,82,40,41,32,
79,86,69,82,32,40,79,82,68,69,82,32,66,89,
32,115,97,108,97,114,121,32,68,69,83,67,41,32,
65,83,32,114,110,32,70,82,79,77,32,101,109,112,
108,111,121,101,101,115,0,12,1,80,1,36,59,0,
176,12,0,95,1,12,1,106,2,65,0,8,28,69,
176,13,0,95,1,12,1,92,2,16,28,57,176,13,
0,95,1,92,2,1,12,1,92,5,8,28,42,174,
2,0,176,10,0,106,28,32,32,80,65,83,83,58,
32,55,32,87,105,110,100,111,119,32,82,79,87,95,
78,85,77,66,69,82,0,20,1,25,22,174,3,0,
176,10,0,106,10,32,32,70,65,73,76,58,32,55,
0,20,1,36,60,0,176,7,0,20,0,36,63,0,
176,11,0,106,90,73,78,83,69,82,84,32,73,78,
84,79,32,101,109,112,108,111,121,101,101,115,32,40,
105,100,44,32,110,97,109,101,44,32,100,101,112,116,
44,32,115,97,108,97,114,121,44,32,109,103,114,95,
105,100,41,32,86,65,76,85,69,83,32,40,57,57,
44,32,39,84,101,115,116,39,44,32,39,81,65,39,
44,32,53,48,48,48,44,32,48,41,0,12,1,80,
1,36,64,0,174,2,0,176,10,0,106,17,32,32,
80,65,83,83,58,32,56,32,73,78,83,69,82,84,
0,20,1,36,65,0,176,7,0,20,0,36,68,0,
176,11,0,106,48,85,80,68,65,84,69,32,101,109,
112,108,111,121,101,101,115,32,83,69,84,32,115,97,
108,97,114,121,32,61,32,57,57,57,57,32,87,72,
69,82,69,32,105,100,32,61,32,49,0,12,1,80,
1,36,69,0,174,2,0,176,10,0,106,17,32,32,
80,65,83,83,58,32,57,32,85,80,68,65,84,69,
0,20,1,36,70,0,176,7,0,20,0,36,73,0,
176,11,0,106,207,87,73,84,72,32,82,69,67,85,
82,83,73,86,69,32,111,114,103,32,65,83,32,40,
83,69,76,69,67,84,32,105,100,44,32,110,97,109,
101,44,32,49,32,65,83,32,108,118,108,32,70,82,
79,77,32,101,109,112,108,111,121,101,101,115,32,87,
72,69,82,69,32,109,103,114,95,105,100,32,61,32,
48,32,85,78,73,79,78,32,65,76,76,32,83,69,
76,69,67,84,32,101,46,105,100,44,32,101,46,110,
97,109,101,44,32,111,46,108,118,108,43,49,32,70,
82,79,77,32,101,109,112,108,111,121,101,101,115,32,
101,32,74,79,73,78,32,111,114,103,32,111,32,79,
78,32,101,46,109,103,114,95,105,100,32,61,32,111,
46,105,100,41,32,83,69,76,69,67,84,32,110,97,
109,101,44,32,108,118,108,32,70,82,79,77,32,111,
114,103,32,79,82,68,69,82,32,66,89,32,108,118,
108,0,12,1,80,1,36,74,0,176,12,0,95,1,
12,1,106,2,65,0,8,28,67,176,13,0,95,1,
12,1,92,2,16,28,55,176,13,0,95,1,92,2,
1,12,1,92,5,16,28,40,174,2,0,176,10,0,
106,26,32,32,80,65,83,83,58,32,49,48,32,82,
101,99,117,114,115,105,118,101,43,74,79,73,78,0,
20,1,25,80,174,3,0,176,10,0,106,18,32,32,
70,65,73,76,58,32,49,48,32,40,114,111,119,115,
61,0,176,14,0,176,12,0,95,1,12,1,106,2,
65,0,8,28,26,176,13,0,95,1,12,1,92,2,
16,28,14,176,13,0,95,1,92,2,1,12,1,25,
3,121,12,1,72,106,2,41,0,72,20,1,36,75,
0,176,7,0,20,0,36,77,0,176,10,0,20,0,
36,78,0,176,10,0,106,9,32,32,80,97,115,115,
58,32,0,176,14,0,95,2,12,1,72,106,2,47,
0,72,176,14,0,95,2,95,3,72,12,1,72,20,
1,36,79,0,176,1,0,106,14,101,109,112,108,111,
121,101,101,115,46,100,98,102,0,20,1,176,1,0,
106,11,111,114,100,101,114,115,46,100,98,102,0,20,
1,36,80,0,176,1,0,106,16,95,95,99,116,101,
95,116,111,112,95,101,46,100,98,102,0,20,1,176,
1,0,106,15,95,95,99,116,101,95,110,117,109,115,
46,100,98,102,0,20,1,176,1,0,106,14,95,95,
99,116,101,95,111,114,103,46,100,98,102,0,20,1,
36,81,0,7
};
hb_vmExecute( pcode, symbols );
}