Files
five/_FiveSql2/bin/.hbmk/linux/gcc/TSqlLexer.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

276 lines
10 KiB
C

/*
* Harbour 3.2.0dev (r2510040809)
* GNU C 13.3 (64-bit)
* Generated C source from "src/TSqlLexer.prg"
*/
#include "hbvmpub.h"
#include "hbinit.h"
HB_FUNC( TSQLLEXER );
HB_FUNC_EXTERN( __CLSLOCKDEF );
HB_FUNC_EXTERN( HBCLASS );
HB_FUNC_EXTERN( HBOBJECT );
HB_FUNC_STATIC( TSQLLEXER_NEW );
HB_FUNC_STATIC( TSQLLEXER_TOKENIZE );
HB_FUNC_STATIC( TSQLLEXER_GETTOKENS );
HB_FUNC_EXTERN( __CLSUNLOCKDEF );
HB_FUNC_EXTERN( __OBJHASMSG );
HB_FUNC_EXTERN( LEN );
HB_FUNC_EXTERN( SUBSTR );
HB_FUNC_EXTERN( AADD );
HB_FUNC_EXTERN( ISALPHA );
HB_FUNC_EXTERN( ISDIGIT );
HB_FUNC_EXTERN( UPPER );
HB_FUNC_INITSTATICS();
HB_INIT_SYMBOLS_BEGIN( hb_vm_SymbolInit_TSQLLEXER )
{ "TSQLLEXER", {HB_FS_PUBLIC | HB_FS_FIRST | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLLEXER )}, NULL },
{ "__CLSLOCKDEF", {HB_FS_PUBLIC}, {HB_FUNCNAME( __CLSLOCKDEF )}, NULL },
{ "NEW", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "HBCLASS", {HB_FS_PUBLIC}, {HB_FUNCNAME( HBCLASS )}, NULL },
{ "HBOBJECT", {HB_FS_PUBLIC}, {HB_FUNCNAME( HBOBJECT )}, NULL },
{ "ADDMULTIDATA", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "ADDMETHOD", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "TSQLLEXER_NEW", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLLEXER_NEW )}, NULL },
{ "TSQLLEXER_TOKENIZE", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLLEXER_TOKENIZE )}, NULL },
{ "TSQLLEXER_GETTOKENS", {HB_FS_STATIC | HB_FS_LOCAL}, {HB_FUNCNAME( TSQLLEXER_GETTOKENS )}, NULL },
{ "CREATE", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "__CLSUNLOCKDEF", {HB_FS_PUBLIC}, {HB_FUNCNAME( __CLSUNLOCKDEF )}, NULL },
{ "INSTANCE", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "__OBJHASMSG", {HB_FS_PUBLIC}, {HB_FUNCNAME( __OBJHASMSG )}, NULL },
{ "INITCLASS", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "_CINPUT", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "_ATOKENS", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "_NLEN", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "LEN", {HB_FS_PUBLIC}, {HB_FUNCNAME( LEN )}, NULL },
{ "ATOKENS", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "NLEN", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "SUBSTR", {HB_FS_PUBLIC}, {HB_FUNCNAME( SUBSTR )}, NULL },
{ "CINPUT", {HB_FS_PUBLIC | HB_FS_MESSAGE}, {NULL}, NULL },
{ "AADD", {HB_FS_PUBLIC}, {HB_FUNCNAME( AADD )}, NULL },
{ "ISALPHA", {HB_FS_PUBLIC}, {HB_FUNCNAME( ISALPHA )}, NULL },
{ "ISDIGIT", {HB_FS_PUBLIC}, {HB_FUNCNAME( ISDIGIT )}, NULL },
{ "UPPER", {HB_FS_PUBLIC}, {HB_FUNCNAME( UPPER )}, NULL },
{ "(_INITSTATICS00001)", {HB_FS_INITEXIT | HB_FS_LOCAL}, {hb_INITSTATICS}, NULL }
HB_INIT_SYMBOLS_EX_END( hb_vm_SymbolInit_TSQLLEXER, "src/TSqlLexer.prg", 0x0, 0x0003 )
#if defined( HB_PRAGMA_STARTUP )
#pragma startup hb_vm_SymbolInit_TSQLLEXER
#elif defined( HB_DATASEG_STARTUP )
#define HB_DATASEG_BODY HB_DATASEG_FUNC( hb_vm_SymbolInit_TSQLLEXER )
#include "hbiniseg.h"
#endif
HB_FUNC( TSQLLEXER )
{
static const HB_BYTE pcode[] =
{
149,3,0,116,27,0,36,15,0,103,1,0,100,8,
29,60,1,176,1,0,104,1,0,12,1,29,49,1,
166,243,0,0,122,80,1,48,2,0,176,3,0,12,
0,106,10,84,83,113,108,76,101,120,101,114,0,108,
4,4,1,0,108,0,112,3,80,2,36,17,0,48,
5,0,95,2,100,100,95,1,121,72,121,72,121,72,
106,7,99,73,110,112,117,116,0,4,1,0,9,112,
5,73,36,18,0,48,5,0,95,2,100,100,95,1,
121,72,121,72,121,72,106,8,97,84,111,107,101,110,
115,0,4,1,0,9,112,5,73,36,19,0,48,5,
0,95,2,100,100,95,1,121,72,121,72,121,72,106,
5,110,76,101,110,0,4,1,0,9,112,5,73,36,
21,0,48,6,0,95,2,106,4,78,101,119,0,108,
7,95,1,92,8,72,121,72,121,72,112,3,73,36,
22,0,48,6,0,95,2,106,9,84,111,107,101,110,
105,122,101,0,108,8,95,1,121,72,121,72,121,72,
112,3,73,36,23,0,48,6,0,95,2,106,10,71,
101,116,84,111,107,101,110,115,0,108,9,95,1,121,
72,121,72,121,72,112,3,73,36,25,0,48,10,0,
95,2,112,0,73,167,14,0,0,176,11,0,104,1,
0,95,2,20,2,168,48,12,0,95,2,112,0,80,
3,176,13,0,95,3,106,10,73,110,105,116,67,108,
97,115,115,0,12,2,28,12,48,14,0,95,3,164,
146,1,0,73,95,3,110,7,48,12,0,103,1,0,
112,0,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLLEXER_NEW )
{
static const HB_BYTE pcode[] =
{
13,0,1,36,29,0,48,15,0,102,95,1,112,1,
73,36,30,0,48,16,0,102,4,0,0,112,1,73,
36,31,0,48,17,0,102,176,18,0,95,1,12,1,
112,1,73,36,33,0,102,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLLEXER_GETTOKENS )
{
static const HB_BYTE pcode[] =
{
36,36,0,48,19,0,102,112,0,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_STATIC( TSQLLEXER_TOKENIZE )
{
static const HB_BYTE pcode[] =
{
13,3,0,36,42,0,122,80,1,36,43,0,48,16,
0,102,4,0,0,112,1,73,36,45,0,95,1,48,
20,0,102,112,0,34,29,1,7,36,46,0,176,21,
0,48,22,0,102,112,0,95,1,122,12,3,80,2,
36,49,0,95,2,106,2,32,0,8,31,29,95,2,
106,2,9,0,8,31,20,95,2,106,2,10,0,8,
31,11,95,2,106,2,13,0,8,28,10,36,50,0,
174,1,0,25,177,36,55,0,95,2,106,2,45,0,
8,28,82,95,1,48,20,0,102,112,0,35,28,71,
176,21,0,48,22,0,102,112,0,95,1,122,72,122,
12,3,106,2,45,0,8,28,48,36,56,0,95,1,
48,20,0,102,112,0,34,28,31,176,21,0,48,22,
0,102,112,0,95,1,122,12,3,106,2,10,0,69,
28,10,36,57,0,174,1,0,25,215,26,86,255,36,
63,0,95,2,106,2,47,0,8,29,125,0,95,1,
48,20,0,102,112,0,35,28,113,176,21,0,48,22,
0,102,112,0,95,1,122,72,122,12,3,106,2,42,
0,8,28,90,36,64,0,126,1,2,0,36,65,0,
95,1,48,20,0,102,112,0,35,28,66,36,66,0,
176,21,0,48,22,0,102,112,0,95,1,122,12,3,
106,2,42,0,8,28,34,176,21,0,48,22,0,102,
112,0,95,1,122,72,122,12,3,106,2,47,0,8,
28,11,36,67,0,126,1,2,0,25,10,36,70,0,
174,1,0,25,180,26,207,254,36,76,0,95,2,106,
2,39,0,8,29,169,0,36,77,0,174,1,0,36,
78,0,106,1,0,80,3,36,79,0,95,1,48,20,
0,102,112,0,34,28,116,36,80,0,176,21,0,48,
22,0,102,112,0,95,1,122,12,3,80,2,36,81,
0,95,2,106,2,39,0,8,28,67,36,82,0,95,
1,48,20,0,102,112,0,35,28,45,176,21,0,48,
22,0,102,112,0,95,1,122,72,122,12,3,106,2,
39,0,8,28,22,36,83,0,96,3,0,106,2,39,
0,135,36,84,0,126,1,2,0,25,156,36,86,0,
174,1,0,25,20,36,90,0,96,3,0,95,2,135,
36,91,0,174,1,0,26,131,255,36,94,0,176,23,
0,48,19,0,102,112,0,92,2,95,3,4,2,0,
20,2,26,28,254,36,99,0,95,2,106,2,48,0,
16,29,124,0,95,2,106,2,57,0,34,28,114,36,
100,0,106,1,0,80,3,36,101,0,95,1,48,20,
0,102,112,0,34,28,68,36,102,0,176,21,0,48,
22,0,102,112,0,95,1,122,12,3,80,2,36,103,
0,95,2,106,2,48,0,16,28,11,95,2,106,2,
57,0,34,31,11,95,2,106,2,46,0,8,28,19,
36,104,0,96,3,0,95,2,135,36,105,0,174,1,
0,25,178,36,110,0,176,23,0,48,19,0,102,112,
0,92,3,95,3,4,2,0,20,2,26,150,253,36,
115,0,176,24,0,95,2,12,1,31,11,95,2,106,
2,95,0,8,28,118,36,116,0,106,1,0,80,3,
36,117,0,95,1,48,20,0,102,112,0,34,28,68,
36,118,0,176,21,0,48,22,0,102,112,0,95,1,
122,12,3,80,2,36,119,0,176,24,0,95,2,12,
1,31,20,176,25,0,95,2,12,1,31,11,95,2,
106,2,95,0,8,28,19,36,120,0,96,3,0,95,
2,135,36,121,0,174,1,0,25,178,36,126,0,176,
23,0,48,19,0,102,112,0,122,176,26,0,95,3,
12,1,4,2,0,20,2,26,13,253,36,131,0,95,
2,106,2,91,0,8,29,129,0,36,132,0,174,1,
0,36,133,0,106,1,0,80,3,36,134,0,95,1,
48,20,0,102,112,0,34,28,52,176,21,0,48,22,
0,102,112,0,95,1,122,12,3,106,2,93,0,69,
28,31,36,135,0,96,3,0,176,21,0,48,22,0,
102,112,0,95,1,122,12,3,135,36,136,0,174,1,
0,25,194,36,138,0,95,1,48,20,0,102,112,0,
34,28,8,36,139,0,174,1,0,36,141,0,176,23,
0,48,19,0,102,112,0,122,176,26,0,95,3,12,
1,4,2,0,20,2,26,130,252,36,146,0,95,2,
106,2,63,0,8,28,34,36,147,0,176,23,0,48,
19,0,102,112,0,92,15,106,2,63,0,4,2,0,
20,2,36,148,0,174,1,0,26,86,252,36,154,0,
95,2,106,2,44,0,8,28,31,36,155,0,176,23,
0,48,19,0,102,112,0,92,4,106,2,44,0,4,
2,0,20,2,174,1,0,26,45,252,36,156,0,95,
2,106,2,46,0,8,28,31,36,157,0,176,23,0,
48,19,0,102,112,0,92,5,106,2,46,0,4,2,
0,20,2,174,1,0,26,4,252,36,158,0,95,2,
106,2,42,0,8,28,31,36,159,0,176,23,0,48,
19,0,102,112,0,92,6,106,2,42,0,4,2,0,
20,2,174,1,0,26,219,251,36,160,0,95,2,106,
2,40,0,8,28,31,36,161,0,176,23,0,48,19,
0,102,112,0,92,7,106,2,40,0,4,2,0,20,
2,174,1,0,26,178,251,36,162,0,95,2,106,2,
41,0,8,28,31,36,163,0,176,23,0,48,19,0,
102,112,0,92,8,106,2,41,0,4,2,0,20,2,
174,1,0,26,137,251,36,164,0,95,2,106,2,43,
0,8,28,31,36,165,0,176,23,0,48,19,0,102,
112,0,92,16,106,2,43,0,4,2,0,20,2,174,
1,0,26,96,251,36,166,0,95,2,106,2,45,0,
8,28,31,36,167,0,176,23,0,48,19,0,102,112,
0,92,17,106,2,45,0,4,2,0,20,2,174,1,
0,26,55,251,36,168,0,95,2,106,2,47,0,8,
28,31,36,169,0,176,23,0,48,19,0,102,112,0,
92,18,106,2,47,0,4,2,0,20,2,174,1,0,
26,14,251,36,170,0,95,2,106,2,124,0,8,28,
79,36,171,0,95,1,48,20,0,102,112,0,35,28,
56,176,21,0,48,22,0,102,112,0,95,1,122,72,
122,12,3,106,2,124,0,8,28,33,36,172,0,176,
23,0,48,19,0,102,112,0,92,19,106,3,124,124,
0,4,2,0,20,2,126,1,2,0,26,190,250,36,
174,0,174,1,0,26,181,250,36,176,0,95,2,106,
2,61,0,8,28,31,36,177,0,176,23,0,48,19,
0,102,112,0,92,9,106,2,61,0,4,2,0,20,
2,174,1,0,26,140,250,36,178,0,95,2,106,2,
60,0,8,29,168,0,36,179,0,95,1,48,20,0,
102,112,0,35,28,56,176,21,0,48,22,0,102,112,
0,95,1,122,72,122,12,3,106,2,61,0,8,28,
33,36,180,0,176,23,0,48,19,0,102,112,0,92,
13,106,3,60,61,0,4,2,0,20,2,126,1,2,
0,26,59,250,36,181,0,95,1,48,20,0,102,112,
0,35,28,56,176,21,0,48,22,0,102,112,0,95,
1,122,72,122,12,3,106,2,62,0,8,28,33,36,
182,0,176,23,0,48,19,0,102,112,0,92,10,106,
3,60,62,0,4,2,0,20,2,126,1,2,0,26,
247,249,36,184,0,176,23,0,48,19,0,102,112,0,
92,11,106,2,60,0,4,2,0,20,2,174,1,0,
26,218,249,36,186,0,95,2,106,2,62,0,8,28,
99,36,187,0,95,1,48,20,0,102,112,0,35,28,
56,176,21,0,48,22,0,102,112,0,95,1,122,72,
122,12,3,106,2,61,0,8,28,33,36,188,0,176,
23,0,48,19,0,102,112,0,92,14,106,3,62,61,
0,4,2,0,20,2,126,1,2,0,26,138,249,36,
190,0,176,23,0,48,19,0,102,112,0,92,12,106,
2,62,0,4,2,0,20,2,174,1,0,26,109,249,
36,192,0,95,2,106,2,33,0,8,28,79,36,193,
0,95,1,48,20,0,102,112,0,35,28,56,176,21,
0,48,22,0,102,112,0,95,1,122,72,122,12,3,
106,2,61,0,8,28,33,36,194,0,176,23,0,48,
19,0,102,112,0,92,10,106,3,33,61,0,4,2,
0,20,2,126,1,2,0,26,29,249,36,196,0,174,
1,0,26,20,249,36,198,0,95,2,106,2,59,0,
8,28,11,36,199,0,174,1,0,26,255,248,36,201,
0,174,1,0,26,246,248,36,206,0,176,23,0,48,
19,0,102,112,0,121,106,1,0,4,2,0,20,2,
36,208,0,102,110,7
};
hb_vmExecute( pcode, symbols );
}
HB_FUNC_INITSTATICS()
{
static const HB_BYTE pcode[] =
{
117,27,0,1,0,7
};
hb_vmExecute( pcode, symbols );
}