public class SchemaParser extends antlr.LLkParser implements SchemaParserTokenTypes
ProgressLexer
,
as part of the process of interpreting Progress schema dump (*.df
) files. Builds a normalized AST meant to be compatible in areas
which have similar options and structures as the AST created by the
ProgressParser
from Progress 4GL source code.
NOTE:
DO NOT MAKE MODIFICATIONS TO THE SOURCE FILE FOR THIS CLASS DIRECTLY.
This class is generated by ANTLR, using the schema.g
grammar.
All changes must be made at the grammar level.
Modifier and Type | Field and Description |
---|---|
static java.lang.String[] |
_tokenNames |
static antlr.collections.impl.BitSet |
_tokenSet_0 |
static antlr.collections.impl.BitSet |
_tokenSet_1 |
static antlr.collections.impl.BitSet |
_tokenSet_10 |
static antlr.collections.impl.BitSet |
_tokenSet_11 |
static antlr.collections.impl.BitSet |
_tokenSet_12 |
static antlr.collections.impl.BitSet |
_tokenSet_13 |
static antlr.collections.impl.BitSet |
_tokenSet_14 |
static antlr.collections.impl.BitSet |
_tokenSet_15 |
static antlr.collections.impl.BitSet |
_tokenSet_16 |
static antlr.collections.impl.BitSet |
_tokenSet_17 |
static antlr.collections.impl.BitSet |
_tokenSet_18 |
static antlr.collections.impl.BitSet |
_tokenSet_2 |
static antlr.collections.impl.BitSet |
_tokenSet_3 |
static antlr.collections.impl.BitSet |
_tokenSet_4 |
static antlr.collections.impl.BitSet |
_tokenSet_5 |
static antlr.collections.impl.BitSet |
_tokenSet_6 |
static antlr.collections.impl.BitSet |
_tokenSet_7 |
static antlr.collections.impl.BitSet |
_tokenSet_8 |
static antlr.collections.impl.BitSet |
_tokenSet_9 |
static java.lang.String |
AST_CLASS
Name of the specialized AST class to use when parsing
|
private java.lang.String |
currentTable
Track the name of the table currently being parsed
|
private antlr.TokenStreamHiddenTokenFilter |
hidden
Filter implementation to allow access to hidden tokens
|
private static boolean |
unixEsc
Remember our platform so that we can properly parse strings containing escapes.
|
astFactory, inputState, returnAST, tokenNames, tokenTypeToASTClassMap, traceDepth
ABBREVIATED, AGGREGATE, ALTER_TABLE, AMBIGUOUS, ANY_LOCK, AREA, ARGUMENTS, AS_BUTTON, ASSIGN, ASSIGNMENT, AST_NODE, AT, ATTR_CHAR, ATTR_CLASS, ATTR_COM_HANDLE, ATTR_DATE, ATTR_DATETIME, ATTR_DATETIME_TZ, ATTR_DEC, ATTR_HANDLE, ATTR_INT, ATTR_INT64, ATTR_LOGICAL, ATTR_LONGCHAR, ATTR_MEMPTR, ATTR_POLY, ATTR_RAW, ATTR_RECID, ATTR_ROWID, BACKSLASH, BEGIN_ATTR, BEGIN_ATTR_METH, BEGIN_BUFFERTYPES, BEGIN_CALLGRAPH, BEGIN_FIELDTYPES, BEGIN_FUNCTYPES, BEGIN_FWD_EXTENSION, BEGIN_INDEX_MATCH_TYPES, BEGIN_LVALUE, BEGIN_METATYPES, BEGIN_METH, BEGIN_MULTIWORD, BEGIN_NATIVE_VARTYPES, BEGIN_RECORDTYPES, BEGIN_RESERVED, BEGIN_SCHEMA, BEGIN_SCHEMAKW, BEGIN_UNRESERVED, BEGIN_VARTYPES, BEGIN_WIDGETS, BEGINS_MATCH, BLOCK, BOGUS, BOOL_FALSE, BOOL_TRUE, BUFFER, BUFFER_SCOPE, CARET, CHILD_PROCESS, CLASS_DEF, CLASS_EVENT, CLASS_NAME, CLIENT_WHERE, CLIENT_WHERE_SUBST, CLOSE_CURSOR, CLOSE_QUERY, CLOSE_STORED_PROCEDURE, CMT_CLOSE, CMT_OPEN, COLON, COLOR_PHRASE, COLUMN_LIST, COLUMN_REF, COM_INVOCATION, COM_METHOD, COM_OBJECT, COM_PARAMETER, COM_PROPERTY, COMMA, COMMAND_TEXT, COMMAND_TOKENS, COMMENT, CONNECT_OPTIONS, CONNECT_TEXT, CONSTRUCTOR, CONTENT_ARRAY, COPY_FROM_SB, COPY_TO_SB, CREATE_ALIAS, CREATE_BROWSE, CREATE_BUFFER, CREATE_CALL, CREATE_CLIENT_PRINCIPAL, CREATE_DATA_SOURCE, CREATE_DATABASE, CREATE_DATASET, CREATE_INDEX, CREATE_OBJECT, CREATE_QUERY, CREATE_REPORT, CREATE_SAX_ATTRIBUTES, CREATE_SAX_READER, CREATE_SAX_WRITER, CREATE_SERVER, CREATE_SMTP_EMAIL, CREATE_SOAP_HEADER, CREATE_SOAP_HEADER_ENTRYREF, CREATE_SOCKET, CREATE_SRV_SOCKET, CREATE_TABLE, CREATE_TEMP_TABLE, CREATE_TIMER, CREATE_VIEW, CREATE_WIDGET, CREATE_WIDGET_POOL, CREATE_X_DOCUMENT, CREATE_X_NODEREF, CUSTOMER_SPECIFIC, CYCLE_ON_LIMIT, DATA_RELATION, DATA_SET, DATA_SOURCE, DATABASE, DATE_LITERAL, DATETIME_LITERAL, DATETIME_TZ_LITERAL, DB_EVENT, DB_REF_NON_STATIC, DB_SYMBOL, DDE_ADVISE, DDE_EXECUTE, DDE_GET, DDE_INITIATE, DDE_REQUEST, DDE_SEND, DDE_SERVER, DDE_TERMINATE, DEC_LITERAL, DECLARE_CURSOR, DEFINE_BROWSE, DEFINE_BUFFER, DEFINE_BUTTON, DEFINE_DATA_SOURCE, DEFINE_DATASET, DEFINE_EVENT, DEFINE_FIELD, DEFINE_FRAME, DEFINE_IMAGE, DEFINE_MENU, DEFINE_PARAMETER, DEFINE_PROPERTY, DEFINE_PROPERTY_GET, DEFINE_PROPERTY_SET, DEFINE_QUERY, DEFINE_RECTANGLE, DEFINE_STREAM, DEFINE_SUB_MENU, DEFINE_TEMP_TABLE, DEFINE_VARIABLE, DEFINE_WORK_TABLE, DELETE_ALIAS, DELETE_FROM, DELETE_OBJECT, DELETE_PROCEDURE, DELETE_WIDGET, DELETE_WIDGET_POOL, DESCRIPTION, DESTRUCTOR, DIGIT, DISABLE_TRIGGERS, DIVIDE, DOT, DOTNET_DELEGATE, DROP_INDEX, DROP_TABLE, DROP_VIEW, DSTRING, DUMP_NAME, DYNAMIC, EDITING_BLOCK, EMBEDDED_ASSIGNMENT, EMBEDDED_SQL, EMPTY_TEMP_TABLE, END_ATTR, END_ATTR_METH, END_BUFFERTYPES, END_CALLGRAPH, END_FIELDTYPES, END_FUNCTYPES, END_FWD_EXTENSION, END_INDEX_MATCH_TYPES, END_LVALUE, END_METATYPES, END_METH, END_MULTIWORD, END_NATIVE_VARTYPES, END_RECORDTYPES, END_RESERVED, END_SCHEMA, END_SCHEMAKW, END_UNRESERVED, END_VARTYPES, END_WIDGETS, EOF, EQUALITY_MATCH, EQUALS, EVENT, EVENT_LIST, EVENT_SIGNATURE, EXCLUSIVE_LOCK_LITERAL, EXPANDED_SCOPE, EXPORT_FIELD, EXPRESSION, EXTERNAL_PROCEDURE, FIELD_BIGINT, FIELD_BLOB, FIELD_BYTE, FIELD_CHAR, FIELD_CLASS, FIELD_CLOB, FIELD_COM_HANDLE, FIELD_DATE, FIELD_DATETIME, FIELD_DATETIME_TZ, FIELD_DEC, FIELD_DOUBLE, FIELD_FIXCHAR, FIELD_FLOAT, FIELD_HANDLE, FIELD_INT, FIELD_INT64, FIELD_LOGICAL, FIELD_RAW, FIELD_RECID, FIELD_ROWID, FIELD_SHORT, FIELD_TIME, FIELD_TIMESTAMP, FILE_RESOURCE, FILENAME, FILEROOT, FILTER_SPEC, FORM_ITEM, FORMAT_PHRASE, FRAME_ALLOC, FRAME_ELEMENT, FRAME_LOCK, FRAME_PHRASE, FRAME_SCOPE, FRAME_UNLOCK, FREE_REFERENCE, FROZEN, FUNC_CHAR, FUNC_CLASS, FUNC_COM_HANDLE, FUNC_DATE, FUNC_DATETIME, FUNC_DATETIME_TZ, FUNC_DEC, FUNC_HANDLE, FUNC_INT, FUNC_INT64, FUNC_LOGICAL, FUNC_LONGCHAR, FUNC_MEMPTR, FUNC_POLY, FUNC_RAW, FUNC_RECID, FUNC_ROWID, FUNCTION, FUNCTION_CALL, GROUP_BY, GT, GTE, HANDLE_TO, HEX_DIGIT, HEX_LITERAL, HIDDEN, IMPORT_FIELD, IN_WIDGET_POOL, INCLUDE_FILE, INCLUDES, INCREMENT, INDEX, INDEX_FIELD, INLINE_VAR_DEF, INLINE_VAR_DEF_ARRAY, INNER_BLOCK, INNER_JOIN, INPUT_CLEAR, INPUT_CLOSE, INPUT_FROM, INPUT_OUTPUT_CLOSE, INPUT_OUTPUT_THRU, INPUT_THRU, INSERT_INTO, INT_PROC, INTERFACE_DEF, INTERNAL_PROCEDURE, IO_OPTIONS, IPC_RESOURCE, IS_NOT_NULL, IS_NULL, JUNK, KEY_FIELD, KEY_FUNCTION, KW_3D, KW_ABBV, KW_ABORT, KW_ABS, KW_ABSTRACT, KW_ACC_CHG, KW_ACC_RCHG, KW_ACCEL, KW_ACCUM, KW_ACT_FORM, KW_ACT_WIN, KW_ACTIVE, KW_ACTOR, KW_ADD, KW_ADD_1ST, KW_ADD_BCCA, KW_ADD_BUF, KW_ADD_C_C, KW_ADD_C_F, KW_ADD_CC_A, KW_ADD_EVTP, KW_ADD_F_F, KW_ADD_HENT, KW_ADD_IDXF, KW_ADD_INVL, KW_ADD_L_C, KW_ADD_LAST, KW_ADD_LIKF, KW_ADD_LIKI, KW_ADD_NEWF, KW_ADD_NEWI, KW_ADD_PREL, KW_ADD_REL, KW_ADD_SLOC, KW_ADD_SRCB, KW_ADD_SUP, KW_ADD_TO_A, KW_ADM_DATA, KW_ADM_TO, KW_ADVISE, KW_AFT_BUFF, KW_AFT_FILL, KW_AFT_R_F, KW_AFT_ROID, KW_AFT_TBL, KW_ALERT_BX, KW_ALIAS, KW_ALL, KW_ALLW_C_S, KW_ALLW_REP, KW_ALT_KEY, KW_ALTER, KW_ALW_ON_T, KW_AMBIG, KW_ANALYZ, KW_AND, KW_ANSI_ONL, KW_ANY, KW_ANY_KEY, KW_ANY_PRT, KW_ANYWHERE, KW_APP_INFO, KW_APP_PW, KW_APP_UID, KW_APPEND, KW_APPEND_C, KW_APPEND_L, KW_APPL, KW_APPL_A_B, KW_APPL_CBK, KW_APPL_CID, KW_APPLY, KW_AREA, KW_ARR_MSG, KW_AS, KW_ASC, KW_ASCEND, KW_ASCII_2H, KW_ASK_OVER, KW_ASSEMBLY, KW_ASSIGN, KW_ASYNC, KW_ASYNC_RC, KW_ASYNC_RH, KW_AT, KW_ATT_DSRC, KW_ATT_FILE, KW_ATT_PLST, KW_ATT_URL, KW_ATTR, KW_ATTR_NAM, KW_AUD_CTRL, KW_AUD_ENAB, KW_AUD_EV_C, KW_AUD_POL, KW_AUTHEN_F, KW_AUTHORZN, KW_AUTO_COM, KW_AUTO_D_X, KW_AUTO_DEL, KW_AUTO_END, KW_AUTO_GO, KW_AUTO_IND, KW_AUTO_RES, KW_AUTO_RET, KW_AUTO_SYN, KW_AUTO_VAL, KW_AUTO_ZAP, KW_AUTOMATC, KW_AVAIL, KW_AVERAGE, KW_AVG, KW_AVL_FMTS, KW_AVL_MSGS, KW_B_ENDIAN, KW_B4_BUFF, KW_B4_FILL, KW_B4_HIDE, KW_B4_R_F, KW_B4_ROWID, KW_B4_TABLE, KW_BACK_TAB, KW_BACKGRND, KW_BACKSP, KW_BACKWARD, KW_BAS_LOGG, KW_BASE_ADE, KW_BASE_KEY, KW_BASE64_D, KW_BASE64_E, KW_BATCH_MO, KW_BATCH_SZ, KW_BEG_EV_G, KW_BEGINS, KW_BELL, KW_BETWEEN, KW_BGCOLOR, KW_BGCOLRGB, KW_BIGINT, KW_BINARY, KW_BIND, KW_BIND_WH, KW_BLANK, KW_BLK_IT_D, KW_BLK_LVL, KW_BLOB, KW_BLOCK, KW_BORD_B_C, KW_BORD_B_P, KW_BORD_L_C, KW_BORD_L_P, KW_BORD_R_C, KW_BORD_R_P, KW_BORD_T_C, KW_BORD_T_P, KW_BOTH, KW_BOTTOM, KW_BOTTOM_C, KW_BOX, KW_BOX_SEL, KW_BREAK, KW_BREAK_L, KW_BROWSE, KW_BTOS, KW_BUF_COMP, KW_BUF_COPY, KW_BUF_CREA, KW_BUF_DEL, KW_BUF_FLD, KW_BUF_GRPI, KW_BUF_GRPN, KW_BUF_HNDL, KW_BUF_NAME, KW_BUF_PARI, KW_BUF_REL, KW_BUF_TENI, KW_BUF_TENN, KW_BUF_VAL, KW_BUF_VLID, KW_BUFFER, KW_BUFFER_C, KW_BUFFER_L, KW_BUFPOOL, KW_BUFRPOOL, KW_BUTTON, KW_BY, KW_BY_PTR, KW_BY_REF, KW_BY_VALUE, KW_BY_VAR_P, KW_BYTE, KW_BYTES_R, KW_BYTES_W, KW_CACHE, KW_CACHE_SZ, KW_CALL, KW_CALL_NAM, KW_CALL_TYP, KW_CALLBACK, KW_CAN_CREA, KW_CAN_DEL, KW_CAN_DO, KW_CAN_DUMP, KW_CAN_FIND, KW_CAN_LOAD, KW_CAN_QRY, KW_CAN_READ, KW_CAN_SET, KW_CAN_WRT, KW_CANC_BRK, KW_CANCEL_B, KW_CANCEL_P, KW_CANCEL_R, KW_CANCELLD, KW_CAPS, KW_CARE_PNT, KW_CASE, KW_CASE_SEN, KW_CAST, KW_CATCH, KW_CBIT, KW_CDECL, KW_CEASE, KW_CENTER, KW_CFG_NAME, KW_CHAINED, KW_CHAR, KW_CHAR_LEN, KW_CHARSET, KW_CHECK, KW_CHECK_AM, KW_CHECKED, KW_CHLD_BUF, KW_CHLD_NUM, KW_CHOICES, KW_CHOOSE, KW_CHR, KW_CLASS, KW_CLEAR, KW_CLIP, KW_CLNT_C_I, KW_CLNT_PRL, KW_CLNT_TTY, KW_CLNT_TYP, KW_CLNT_WS, KW_CLOB, KW_CLOB_COL, KW_CLOB_CP, KW_CLOB_TYP, KW_CLONE_ND, KW_CLOSE, KW_CLOSE_AP, KW_CLOSE_LG, KW_CLR_AP_C, KW_CLR_ATTL, KW_CLR_BCCL, KW_CLR_CC_L, KW_CLR_EMBL, KW_CLR_LOG, KW_CLR_S_AR, KW_CLR_SEL, KW_CLR_TO_L, KW_CLS_TYPE, KW_CNCL_R_A, KW_CNTRL_BX, KW_CNTRL_FR, KW_CNTRL_NM, KW_CODE, KW_CODEBASE, KW_COL, KW_COL_BGC, KW_COL_CP, KW_COL_DC, KW_COL_FGC, KW_COL_FONT, KW_COL_LAB, KW_COL_MOV, KW_COL_OF, KW_COL_PFC, KW_COL_R_O, KW_COL_RES, KW_COL_SCR, KW_COLLATE, KW_COLON, KW_COLON_AL, KW_COLOR, KW_COLR_TAB, KW_COLUMNS, KW_COM_HNDL, KW_COM_SELF, KW_COMBO_BX, KW_COMMAND, KW_COMPARE, KW_COMPARES, KW_COMPILE, KW_COMPILER, KW_COMPLETE, KW_CONN, KW_CONN_ED, KW_CONNTYPE, KW_CONSTRUC, KW_CONTAINS, KW_CONTENTS, KW_CONTROL, KW_CONTROLS, KW_CONVERT, KW_COOKIE_D, KW_COPY, KW_COUNT, KW_COUNT_OF, KW_COVERAGE, KW_CP, KW_CP_CVT, KW_CPCASE, KW_CPCOLL, KW_CPINTERN, KW_CPLOG, KW_CPPRINT, KW_CPRCODEI, KW_CPRCODEO, KW_CPSTREAM, KW_CPTERM, KW_CPY_DSET, KW_CPY_LOB, KW_CPY_SATR, KW_CPY_TTBL, KW_CR_LK_SQ, KW_CRC, KW_CRC_VAL, KW_CREAT_LK, KW_CREAT_ND, KW_CREAT_NN, KW_CREAT_OA, KW_CREAT_RL, KW_CREAT_TF, KW_CREATE, KW_CTOS, KW_CTX, KW_CTX_H, KW_CTX_H_F, KW_CTX_H_ID, KW_CTX_POP, KW_CUR_CHAR, KW_CUR_CHG, KW_CUR_COL, KW_CUR_DATE, KW_CUR_DOWN, KW_CUR_ENV, KW_CUR_ITER, KW_CUR_LANG, KW_CUR_LEFT, KW_CUR_LINE, KW_CUR_OFF, KW_CUR_R_M, KW_CUR_RES, KW_CUR_RGHT, KW_CUR_RQI, KW_CUR_RSI, KW_CUR_UP, KW_CUR_VAL, KW_CUR_WIN, KW_CURRENCY, KW_CURRENT, KW_CURSOR, KW_CUT, KW_CVT_2OFF, KW_CVT_3D_C, KW_CVT_DT, KW_CYCLE, KW_DATA_BND, KW_DATA_E_R, KW_DATA_REL, KW_DATA_SCM, KW_DATA_SM, KW_DATA_SRC, KW_DATA_SRI, KW_DATABASE, KW_DATASET, KW_DATASRV, KW_DATATYPE, KW_DATE, KW_DATE_FMT, KW_DATE_TZ, KW_DATETIME, KW_DAY, KW_DB_CTXT, KW_DB_LIST, KW_DB_REF, KW_DB_REM_H, KW_DBCOLL, KW_DBCP, KW_DBG_ALRT, KW_DBG_LST, KW_DBNAME, KW_DBPARAM, KW_DBREST, KW_DBTASKID, KW_DBTYPE, KW_DBVERS, KW_DCOLOR, KW_DDE, KW_DDE_ERR, KW_DDE_ID, KW_DDE_ITEM, KW_DDE_NAME, KW_DDE_NOTI, KW_DDE_TOPI, KW_DEBLANK, KW_DEBUG, KW_DEBUGGER, KW_DEC, KW_DECIMALS, KW_DECL_NSP, KW_DECLARE, KW_DECRYPT, KW_DEF_ACTN, KW_DEF_BUFH, KW_DEF_COMM, KW_DEF_EXTN, KW_DEF_NOXL, KW_DEF_POP, KW_DEF_STR, KW_DEF_UEVM, KW_DEF_VAL, KW_DEF_WIN, KW_DEFAULT, KW_DEFINE, KW_DEFLT_BN, KW_DEL_C_R, KW_DEL_CHAR, KW_DEL_COL, KW_DEL_COOK, KW_DEL_E_L, KW_DEL_FLD, KW_DEL_H_EN, KW_DEL_LINE, KW_DEL_NODE, KW_DEL_PROC, KW_DEL_R_L, KW_DEL_S_R, KW_DEL_S_RS, KW_DEL_WORD, KW_DELEGATE, KW_DELETE, KW_DELIMIT, KW_DESCEND, KW_DESCR, KW_DESEL_FR, KW_DESEL_R, KW_DESEL_SR, KW_DESELCTN, KW_DESTRUCT, KW_DET_DSRC, KW_DIALOG, KW_DICT, KW_DIR, KW_DIRECTRY, KW_DIS_A_ZA, KW_DIS_D_TR, KW_DIS_L_TR, KW_DIS_REDR, KW_DISABL_C, KW_DISABLE, KW_DISABLED, KW_DISCONN, KW_DISP, KW_DISP_MSG, KW_DISP_TYP, KW_DISP_TZ, KW_DISPATCH, KW_DISTINCT, KW_DLL_C_T, KW_DMP_NAME, KW_DO, KW_DOMAIN_D, KW_DOMAIN_N, KW_DOMAIN_T, KW_DOS, KW_DOUBLE, KW_DOWN, KW_DRAG_EN, KW_DROP, KW_DROP_DWN, KW_DROP_FN, KW_DROP_LST, KW_DROP_TAR, KW_DSET_HND, KW_DSL_MGR, KW_DUMP, KW_DUMP_LGN, KW_DYN_CAST, KW_DYN_CURV, KW_DYN_FUNC, KW_DYN_INVK, KW_DYN_NEW, KW_DYN_NEXV, KW_DYNAMIC, KW_E_PROC_C, KW_EACH, KW_ECHO, KW_EDGE_C, KW_EDGE_P, KW_EDIT_B_T, KW_EDIT_C_P, KW_EDIT_C_U, KW_EDIT_CLR, KW_EDIT_CPY, KW_EDIT_CUT, KW_EDIT_PAS, KW_EDIT_TAB, KW_EDIT_UND, KW_EDITING, KW_EDITOR, KW_ELSE, KW_EMB_FILE, KW_EMB_URL, KW_EMPTY, KW_EMPTY_DS, KW_EMPTY_SN, KW_EMPTY_TT, KW_ENABLE, KW_ENABLE_C, KW_ENABLE_E, KW_ENABLED, KW_ENC_AMK, KW_ENC_SALT, KW_ENCODE, KW_ENCODING, KW_ENCRYPT, KW_END, KW_END_B_SN, KW_END_DOC, KW_END_ELEM, KW_END_ERR, KW_END_EV_G, KW_END_F_D, KW_END_MOV, KW_END_RESZ, KW_END_RRES, KW_END_SEAR, KW_END_USER, KW_ENDKEY, KW_ENT_TLST, KW_ENTER_MB, KW_ENTERED, KW_ENTRY, KW_EQ, KW_ERR_CODE, KW_ERR_COL, KW_ERR_OBJD, KW_ERR_ROW, KW_ERR_S_T, KW_ERR_STAT, KW_ERR_STR, KW_ERROR, KW_ESCAPE, KW_ETIME, KW_EVENTS, KW_EVT_GRID, KW_EVT_PROC, KW_EVT_TYPE, KW_EXC_LOCK, KW_EXCEPT, KW_EXCL_ID, KW_EXCL_WEB, KW_EXEC_LOG, KW_EXECUTE, KW_EXISTS, KW_EXIT, KW_EXP, KW_EXPAND, KW_EXPANDBL, KW_EXPLICIT, KW_EXPORT, KW_EXPORT_P, KW_EXTENDED, KW_EXTENT, KW_EXTERN, KW_F_KEY_H, KW_FETCH, KW_FETCH_SR, KW_FGCOLOR, KW_FGCOLRGB, KW_FIELD, KW_FIL_C_D, KW_FIL_C_T, KW_FIL_INFO, KW_FIL_M_D, KW_FIL_M_T, KW_FIL_NAME, KW_FIL_OFF, KW_FIL_SIZE, KW_FIL_TYPE, KW_FILE, KW_FILL, KW_FILL_IN, KW_FILL_MOD, KW_FILL_WST, KW_FILLED, KW_FILTERS, KW_FINAL, KW_FINALLY, KW_FIND, KW_FIND_1ST, KW_FIND_BR, KW_FIND_CS, KW_FIND_CUR, KW_FIND_FD, KW_FIND_GLO, KW_FIND_LST, KW_FIND_NO, KW_FIND_NXT, KW_FIND_PO, KW_FIND_PRV, KW_FIND_SEL, KW_FIND_UNI, KW_FIND_WA, KW_FINDER, KW_FIR_DSET, KW_FIRST, KW_FIRST_AR, KW_FIRST_BU, KW_FIRST_CH, KW_FIRST_CO, KW_FIRST_DS, KW_FIRST_FM, KW_FIRST_OB, KW_FIRST_OF, KW_FIRST_PR, KW_FIRST_QR, KW_FIRST_SO, KW_FIRST_SR, KW_FIRST_SS, KW_FIRST_TI, KW_FIT_LCOL, KW_FIX_CP, KW_FIXCHAR, KW_FIXD_ONL, KW_FLAT_BUT, KW_FLD_TRG, KW_FLOAT, KW_FMT_DT, KW_FOCUS, KW_FOCUS_R, KW_FOCUS_RS, KW_FONT, KW_FONT_TAB, KW_FOR, KW_FORCE_F, KW_FORE, KW_FORM, KW_FORM_INP, KW_FORM_LIN, KW_FORMAT, KW_FORMATTE, KW_FORWARD, KW_FR_COL, KW_FR_DB, KW_FR_DOWN, KW_FR_FIELD, KW_FR_FILE, KW_FR_INDEX, KW_FR_LINE, KW_FR_NAME, KW_FR_ROW, KW_FR_SPACE, KW_FR_VAL, KW_FR_X, KW_FR_Y, KW_FRAGMENT, KW_FRAME, KW_FREQ, KW_FROM, KW_FROM_CHR, KW_FROM_CUR, KW_FROM_PIX, KW_FROZEN, KW_FULL_H_C, KW_FULL_H_P, KW_FULL_W_C, KW_FULL_W_P, KW_FULLPATH, KW_FUNC_C_T, KW_FUNCT, KW_FWD_ONLY, KW_GEN_MD5, KW_GEN_PBEK, KW_GEN_PBES, KW_GEN_RNDK, KW_GEN_UUID, KW_GET, KW_GET_1ST, KW_GET_A_CT, KW_GET_A_N, KW_GET_ATTL, KW_GET_ATTR, KW_GET_B_A, KW_GET_B_OR, KW_GET_BCCL, KW_GET_BDAT, KW_GET_BITS, KW_GET_BLUE, KW_GET_BR_C, KW_GET_BUFH, KW_GET_BYTE, KW_GET_BYTS, KW_GET_CBPC, KW_GET_CBPN, KW_GET_CC_L, KW_GET_CFG, KW_GET_CFGV, KW_GET_CGI, KW_GET_CGIL, KW_GET_CGIV, KW_GET_CGL, KW_GET_CGLV, KW_GET_CHG, KW_GET_CHLD, KW_GET_CLL, KW_GET_CODP, KW_GET_COLL, KW_GET_COOK, KW_GET_CP, KW_GET_CREL, KW_GET_CUR, KW_GET_D_E, KW_GET_D_F, KW_GET_DBL, KW_GET_DIR, KW_GET_DS_B, KW_GET_DYN, KW_GET_EMBL, KW_GET_ERRC, KW_GET_ERRR, KW_GET_FILE, KW_GET_FLD, KW_GET_FLT, KW_GET_FNAM, KW_GET_FOFF, KW_GET_GRN, KW_GET_HD_E, KW_GET_I64, KW_GET_IBNN, KW_GET_IBQN, KW_GET_ITER, KW_GET_K_V, KW_GET_L_V, KW_GET_LAST, KW_GET_LNBI, KW_GET_LONG, KW_GET_MOP, KW_GET_MSG, KW_GET_MSGG, KW_GET_MSGS, KW_GET_NEXT, KW_GET_NODE, KW_GET_NUM, KW_GET_PAR, KW_GET_PREV, KW_GET_PROP, KW_GET_PRT, KW_GET_PTR, KW_GET_QNBI, KW_GET_R_R, KW_GET_RED, KW_GET_REL, KW_GET_RGB, KW_GET_S_O, KW_GET_SELW, KW_GET_SER, KW_GET_SHRT, KW_GET_SIG, KW_GET_SRCB, KW_GET_STR, KW_GET_SZ, KW_GET_T_S, KW_GET_TBI, KW_GET_TBNN, KW_GET_TBQN, KW_GET_THCH, KW_GET_THPX, KW_GET_TI, KW_GET_TO_L, KW_GET_TOPB, KW_GET_TWCH, KW_GET_TWPX, KW_GET_U_F, KW_GET_UBI, KW_GET_UL, KW_GET_USHT, KW_GET_VAL, KW_GET_VBI, KW_GET_VBNN, KW_GET_VBQN, KW_GET_WAIT, KW_GET_WKDR, KW_GETATTRI, KW_GLOBAL, KW_GO, KW_GO_ON, KW_GO_PEND, KW_GOTO, KW_GRANT, KW_GRAPHIC, KW_GRD_F_H, KW_GRD_F_V, KW_GRD_SNAP, KW_GRD_UHC, KW_GRD_UHP, KW_GRD_UWC, KW_GRD_UWP, KW_GRD_VIS, KW_GROUP, KW_GROUP_BX, KW_GT, KW_GTE, KW_GUID, KW_GW, KW_HANDLE, KW_HANDLER, KW_HAS_LOBS, KW_HAS_REC, KW_HAVING, KW_HEADER, KW_HEIGHT_C, KW_HEIGHT_P, KW_HELP, KW_HELP_TOP, KW_HEX_DECD, KW_HEX_ENCD, KW_HID_FLD, KW_HID_FLDL, KW_HIDDEN, KW_HIDE, KW_HINT, KW_HOME, KW_HONOR_PK, KW_HONOR_RK, KW_HORIZ, KW_HOST_B_O, KW_HTML_CHS, KW_HTML_ENC, KW_HTML_EOL, KW_HTML_EOP, KW_HTML_FRB, KW_HTML_FRE, KW_HTML_H_B, KW_HTML_H_E, KW_HTML_T_B, KW_HTML_T_E, KW_HTMLERR, KW_HWND, KW_HYPERLNK, KW_ICFPARM, KW_ICON, KW_IDEPHWND, KW_IDEWNTYP, KW_IDX_FLD, KW_IDX_HINT, KW_IDX_INFO, KW_IDX_REPO, KW_IF, KW_IGN_CMOD, KW_IMAGE, KW_IMG_DOWN, KW_IMG_INS, KW_IMG_SZ, KW_IMG_SZ_C, KW_IMG_SZ_P, KW_IMG_UP, KW_IMM_DISP, KW_IMP_NODE, KW_IMP_PRNC, KW_IMPLEMTS, KW_IMPORT, KW_IN, KW_IN_HNDL, KW_IN_OUT, KW_INACTIVE, KW_INC_EX_I, KW_INCR, KW_INDEX, KW_INDICAT, KW_INFO, KW_INH_BGC, KW_INH_FGC, KW_INHERITS, KW_INIT, KW_INIT_D_T, KW_INIT_DIR, KW_INIT_FLT, KW_INIT_SES, KW_INITIATE, KW_INNER, KW_INNER_C, KW_INNER_L, KW_INPT_VAL, KW_INPUT, KW_INS_ATTR, KW_INS_B4, KW_INS_BTAB, KW_INS_COL, KW_INS_FILE, KW_INS_FLD, KW_INS_FLDD, KW_INS_FLDL, KW_INS_MODE, KW_INS_ROW, KW_INS_STR, KW_INS_TAB, KW_INSERT, KW_INST_PRC, KW_INT, KW_INT_ENT, KW_INT64, KW_INTERFAC, KW_INTERVAL, KW_INTO, KW_INVOKE, KW_IS, KW_IS_ATTR, KW_IS_CLASS, KW_IS_COLCP, KW_IS_CP_FX, KW_IS_JSON, KW_IS_LEAD, KW_IS_OPEN, KW_IS_P_SET, KW_IS_PART, KW_IS_R_SEL, KW_IS_SEL, KW_IS_XML, KW_ISO_DATE, KW_ITEM, KW_ITEM_ROW, KW_ITER_CHG, KW_IUNKNOWN, KW_JOIN, KW_JOIN_BY, KW_KBLABEL, KW_KEEP_CON, KW_KEEP_MSG, KW_KEEP_SEC, KW_KEEP_TAB, KW_KEEP_ZOR, KW_KEY, KW_KEYCODE, KW_KEYFUNC, KW_KEYLAB, KW_KEYS, KW_KW, KW_KW_ALL, KW_L_ENDIAN, KW_L_TRIM, KW_LAB_BGC, KW_LAB_DC, KW_LAB_FGC, KW_LAB_FONT, KW_LAB_H_C, KW_LAB_PFC, KW_LABEL, KW_LABELS, KW_LANDSCAP, KW_LANGUAGE, KW_LARGE, KW_LAST, KW_LAST_AR, KW_LAST_BAT, KW_LAST_CH, KW_LAST_EVT, KW_LAST_FRM, KW_LAST_OBJ, KW_LAST_OF, KW_LAST_PRC, KW_LAST_SOC, KW_LAST_SRV, KW_LAST_SS, KW_LAST_TI, KW_LASTKEY, KW_LC, KW_LCHR_2NV, KW_LDBNAME, KW_LEAVE, KW_LEFT, KW_LEFT_AL, KW_LEFT_END, KW_LEFT_MC, KW_LEFT_MD, KW_LEFT_MDC, KW_LEFT_MU, KW_LENGTH, KW_LG_2_SM, KW_LIB, KW_LIKE, KW_LIKE_SEQ, KW_LINE, KW_LINE_CNT, KW_LIST_ITM, KW_LIST_PNM, KW_LISTING, KW_LISTINGS, KW_LIT_QSTN, KW_LOAD, KW_LOAD_DMN, KW_LOAD_I_D, KW_LOAD_I_I, KW_LOAD_I_U, KW_LOAD_ICO, KW_LOAD_IMG, KW_LOAD_M_P, KW_LOAD_PIC, KW_LOAD_S_I, KW_LOADCTRL, KW_LOB_AREA, KW_LOB_BYTE, KW_LOB_DIR, KW_LOB_SIZE, KW_LOC_C_N, KW_LOC_HOST, KW_LOC_L_N, KW_LOC_NAME, KW_LOC_P_ID, KW_LOC_PORT, KW_LOC_S_ID, KW_LOC_TYPE, KW_LOC_V_I, KW_LOCK_REG, KW_LOCKED, KW_LOG, KW_LOG_A_EV, KW_LOG_E_TS, KW_LOG_EN_T, KW_LOG_HOST, KW_LOG_ID, KW_LOG_MGR, KW_LOG_STAT, KW_LOG_THRS, KW_LOGF_NAM, KW_LOGG_LEV, KW_LOGICAL, KW_LOGOUT, KW_LONG, KW_LONGCHAR, KW_LOOKAHD, KW_LOOKUP, KW_LST_EVNT, KW_LST_PAIR, KW_LST_QRY, KW_LST_SET, KW_LST_WID, KW_LT, KW_LTE, KW_MACH_CLS, KW_MAINMENU, KW_MAN_HIGH, KW_MAND, KW_MAP, KW_MARG_EX, KW_MARG_H_C, KW_MARG_H_P, KW_MARG_W_C, KW_MARG_W_P, KW_MATCHES, KW_MAX, KW_MAX_BTN, KW_MAX_CHAR, KW_MAX_D_G, KW_MAX_H_C, KW_MAX_H_P, KW_MAX_HT, KW_MAX_ROWS, KW_MAX_SZ, KW_MAX_VAL, KW_MAX_W_C, KW_MAX_W_P, KW_MAX_WID, KW_MAXIMIZE, KW_MD5_DIG, KW_MD5_VAL, KW_MDL_MC, KW_MDL_MD, KW_MDL_MDC, KW_MDL_MU, KW_MEMBER, KW_MEMPTR, KW_MENU, KW_MENU_BAR, KW_MENU_DRP, KW_MENU_ITM, KW_MENU_KEY, KW_MENU_MOU, KW_MERGE_BF, KW_MERGE_CH, KW_MERGE_RC, KW_MESSAGES, KW_METHOD, KW_MIN, KW_MIN_BTN, KW_MIN_CWCH, KW_MIN_CWPX, KW_MIN_H_C, KW_MIN_H_P, KW_MIN_SCHM, KW_MIN_SZ, KW_MIN_VAL, KW_MIN_W_C, KW_MIN_W_P, KW_MNEMON, KW_MOD, KW_MODIFIED, KW_MONTH, KW_MOU_MC, KW_MOU_MD, KW_MOU_MDC, KW_MOU_MU, KW_MOU_MVC, KW_MOU_MVD, KW_MOU_MVDC, KW_MOU_MVU, KW_MOU_PTR, KW_MOU_SC, KW_MOU_SD, KW_MOU_SDC, KW_MOU_SU, KW_MOU_XC, KW_MOU_XD, KW_MOU_XDC, KW_MOU_XU, KW_MOUSE, KW_MOV_2_B, KW_MOV_2_T, KW_MOV_2EOF, KW_MOV_A_T, KW_MOV_B_T, KW_MOV_COL, KW_MOVABLE, KW_MOVE, KW_MPE, KW_MPTR_2NV, KW_MSG, KW_MSG_AFNT, KW_MSG_AREA, KW_MSG_DIG, KW_MSG_LINE, KW_MTIME, KW_MULT_CMP, KW_MULT_KEY, KW_MULTI_IN, KW_MULTIPLE, KW_MUST_EXI, KW_MUST_UND, KW_NAME, KW_NAMESP_P, KW_NAMESP_U, KW_NATIVE, KW_NE, KW_NEEDS_AP, KW_NEEDS_PR, KW_NESTED, KW_NEW, KW_NEW_INST, KW_NEW_LINE, KW_NEW_ROW, KW_NEXT, KW_NEXT_COL, KW_NEXT_ERR, KW_NEXT_FR, KW_NEXT_PMT, KW_NEXT_RID, KW_NEXT_SIB, KW_NEXT_TAB, KW_NEXT_VAL, KW_NEXTWORD, KW_NNMSP_SL, KW_NO_APPLY, KW_NO_ARMSG, KW_NO_ASSGN, KW_NO_ATTR, KW_NO_ATTRL, KW_NO_AUTOV, KW_NO_BIND, KW_NO_BOX, KW_NO_COLS, KW_NO_CONS, KW_NO_CUR_V, KW_NO_CV_3D, KW_NO_CVT, KW_NO_DEBUG, KW_NO_DRAG, KW_NO_ECHO, KW_NO_EM_SP, KW_NO_ERROR, KW_NO_FILL, KW_NO_FOCUS, KW_NO_HELP, KW_NO_HIDE, KW_NO_IDX_H, KW_NO_INHBG, KW_NO_INHFG, KW_NO_JOIN, KW_NO_LABEL, KW_NO_LOBS, KW_NO_LOCK, KW_NO_LOOKA, KW_NO_MAP, KW_NO_MSG, KW_NO_OVRRD, KW_NO_PAUSE, KW_NO_PRE, KW_NO_RET_V, KW_NO_ROW_M, KW_NO_SCH_M, KW_NO_SCR_V, KW_NO_SEP_C, KW_NO_SEPS, KW_NO_TAB_S, KW_NO_UNDL, KW_NO_UNDO, KW_NO_VALID, KW_NO_WAIT, KW_NO_WRAP, KW_NODE_V2M, KW_NODE_VAL, KW_NODV_2LC, KW_NONE, KW_NORMAL, KW_NORMALZE, KW_NOT, KW_NOT_ACTV, KW_NOT_CS, KW_NOW, KW_NULL, KW_NULLALWD, KW_NUM_2RTN, KW_NUM_ALIA, KW_NUM_BUFF, KW_NUM_BUTT, KW_NUM_CH_R, KW_NUM_CHLN, KW_NUM_COL, KW_NUM_COPY, KW_NUM_D_P, KW_NUM_DBS, KW_NUM_DROP, KW_NUM_ENT, KW_NUM_FLD, KW_NUM_FMT, KW_NUM_FMTS, KW_NUM_HD_E, KW_NUM_ITER, KW_NUM_ITMS, KW_NUM_LK_C, KW_NUM_LNS, KW_NUM_LOGF, KW_NUM_MSG, KW_NUM_PARM, KW_NUM_REF, KW_NUM_REL, KW_NUM_REPL, KW_NUM_RES, KW_NUM_SEP, KW_NUM_SR, KW_NUM_SRCB, KW_NUM_SW, KW_NUM_TABS, KW_NUM_TOPB, KW_NUM_V_C, KW_NUMERIC, KW_OBJECT, KW_OCT_LEN, KW_OF, KW_OFF, KW_OFF_END, KW_OFF_HOME, KW_OK, KW_OK_CAN, KW_OLD, KW_OLE_INVL, KW_OLE_NAML, KW_ON, KW_ON_FR_B, KW_ONLY, KW_OPEN, KW_OPEN_L_A, KW_OPEN_URL, KW_OPENMIME, KW_OPSYS, KW_OPTION, KW_OPTIONS, KW_OR, KW_ORD_JOIN, KW_ORDER, KW_ORDINAL, KW_ORG_HAND, KW_ORG_ROID, KW_OS_APPND, KW_OS_CMD, KW_OS_COPY, KW_OS_DEL, KW_OS_DIR, KW_OS_DRV, KW_OS_ERR, KW_OS_G_ENV, KW_OS_MKDIR, KW_OS_REN, KW_OS2, KW_OTHER, KW_OUT_HDR, KW_OUT_HH, KW_OUT_JOIN, KW_OUT_MSGS, KW_OUTER, KW_OUTPUT, KW_OUTPUTCT, KW_OVERLAY, KW_OVERRIDE, KW_OWN_DOC, KW_OWNER, KW_P2J_RC, KW_PAGE, KW_PAGE_B, KW_PAGE_DWN, KW_PAGE_LFT, KW_PAGE_NUM, KW_PAGE_RT, KW_PAGE_SZ, KW_PAGE_T, KW_PAGE_UP, KW_PAGE_WID, KW_PAGED, KW_PAR_BUFF, KW_PAR_FLDA, KW_PAR_FLDB, KW_PAR_IFLD, KW_PAR_IREL, KW_PAR_REL, KW_PAR_W_C, KW_PARENT, KW_PARM, KW_PARSE_ST, KW_PART_KEY, KW_PASCAL, KW_PASSWD_F, KW_PASTE, KW_PATHNAME, KW_PAUSE, KW_PBE_H_AL, KW_PBE_KEYR, KW_PDBNAME, KW_PERF, KW_PERSIST, KW_PFCOLOR, KW_PICK, KW_PICK_ARE, KW_PICK_BTH, KW_PIX_COL, KW_PIX_ROW, KW_PIXELS, KW_POP_MENU, KW_POP_ONLY, KW_PORTRAIT, KW_POS, KW_PRE_LBL, KW_PRECISN, KW_PREF_DS, KW_PREP_STR, KW_PREPARED, KW_PREPROC, KW_PRESEL, KW_PREV, KW_PREV_COL, KW_PREV_FR, KW_PREV_SIB, KW_PREV_T_I, KW_PREVWORD, KW_PRIMARY, KW_PRINTER, KW_PRIV_DAT, KW_PRIVATE, KW_PRIVILEG, KW_PRMT_FOR, KW_PRO_ARCH, KW_PROC, KW_PROC_C_T, KW_PROC_COM, KW_PROC_HND, KW_PROC_ST, KW_PROC_T_B, KW_PROC_TXT, KW_PROC_W_R, KW_PROCESS, KW_PROCNAME, KW_PRODATAS, KW_PROFILER, KW_PROFILNG, KW_PROG_SRC, KW_PROGNAME, KW_PROGRESS, KW_PROMPT, KW_PROMSGS, KW_PROPATH, KW_PROPERTY, KW_PROTECTD, KW_PROVER, KW_PROX_PWD, KW_PROX_UID, KW_PROXY, KW_PRS_C_D, KW_PRS_PROC, KW_PRT_C_H, KW_PRT_HDC, KW_PRT_NAME, KW_PRT_PORT, KW_PRT_SET, KW_PSC, KW_PUB_EVTS, KW_PUB_ID, KW_PUBLIC, KW_PUBLISH, KW_PUT, KW_PUT_BITS, KW_PUT_BYTE, KW_PUT_BYTS, KW_PUT_DBL, KW_PUT_FLT, KW_PUT_I64, KW_PUT_K_V, KW_PUT_LONG, KW_PUT_SHT, KW_PUT_STR, KW_PUT_UL, KW_PUT_USHT, KW_QRY_CLOS, KW_QRY_OFF, KW_QRY_OPEN, KW_QRY_PREP, KW_QRY_TUNE, KW_QUE_MSG, KW_QUERY, KW_QUEST, KW_QUIT, KW_QUOTER, KW_R_INDEX, KW_R_TRIM, KW_RADIO_B, KW_RADIO_S, KW_RANDOM, KW_RAW, KW_RAW_TRAN, KW_RCOD_INF, KW_READ, KW_READ_AVL, KW_READ_E_N, KW_READ_FIL, KW_READ_JSN, KW_READ_ONL, KW_READ_RES, KW_READ_XML, KW_READ_XSC, KW_READKEY, KW_REAL, KW_REC_LEN, KW_RECALL, KW_RECID, KW_RECT, KW_RECURSE, KW_REF_ONLY, KW_REFR_A_P, KW_REFRABLE, KW_REFRESH, KW_REG_DMN, KW_REJ_CHGS, KW_REJ_RCHG, KW_REJECTED, KW_REL_FLDS, KW_RELEASE, KW_RELS_ACT, KW_REM_ATTR, KW_REM_CHLD, KW_REM_EVTP, KW_REM_HOST, KW_REM_PORT, KW_REM_SUP, KW_REMOTE, KW_REP_CHLD, KW_REP_STXT, KW_REPEAT, KW_REPL_CRE, KW_REPL_DEL, KW_REPL_WRI, KW_REPLACE, KW_REPORT, KW_REPORTS, KW_REPOS, KW_REPOS_2I, KW_REPOS_2R, KW_REPOS_B, KW_REPOS_F, KW_REPOS_M, KW_REQ_INFO, KW_REQUEST, KW_RESET, KW_RESIZABL, KW_RESIZE, KW_REST_RID, KW_RESULT, KW_RESUME_D, KW_RET_2SD, KW_RET_INS, KW_RET_SHAP, KW_RET_VAL, KW_RET_VDT, KW_RETAIN, KW_RETRY, KW_RETRY_C, KW_RETURN, KW_RETURNS, KW_REV_FROM, KW_REVERT, KW_REVOKE, KW_RGB_VAL, KW_RIGHT, KW_RIGHT_AL, KW_ROLE, KW_ROLES, KW_ROUND, KW_ROUNDED, KW_ROUTINEL, KW_ROW, KW_ROW_CRT, KW_ROW_CRTD, KW_ROW_DEL, KW_ROW_DELD, KW_ROW_DISP, KW_ROW_ENTR, KW_ROW_H_C, KW_ROW_H_P, KW_ROW_LEAV, KW_ROW_MARK, KW_ROW_MODD, KW_ROW_OF, KW_ROW_RESZ, KW_ROW_STAT, KW_ROW_UMOD, KW_ROW_UPD, KW_ROWID, KW_RPT_CSV, KW_RPT_DSGN, KW_RPT_PDF, KW_RPT_SRC, KW_RPT_XLS, KW_RPT_XLSX, KW_RSP_INFO, KW_RT_END, KW_RT_MC, KW_RT_MD, KW_RT_MDC, KW_RT_MU, KW_RTOPSYS, KW_RULE, KW_RULE_ROW, KW_RULE_Y, KW_RUN, KW_RUN_PROC, KW_RUN_W_O, KW_SAVE, KW_SAVE_AS, KW_SAVE_FIL, KW_SAVE_RCH, KW_SAVE_WST, KW_SAX_ATTR, KW_SAX_COMP, KW_SAX_PARE, KW_SAX_PARF, KW_SAX_PARN, KW_SAX_PARS, KW_SAX_READ, KW_SAX_RUNN, KW_SAX_UNIN, KW_SAX_WBEG, KW_SAX_WCOM, KW_SAX_WCON, KW_SAX_WELM, KW_SAX_WERR, KW_SAX_WIDL, KW_SAX_WRIT, KW_SAX_WTAG, KW_SCH_CHG, KW_SCH_LOC, KW_SCH_MARS, KW_SCH_PATH, KW_SCHEMA, KW_SCR_2CR, KW_SCR_2ITM, KW_SCR_2SR, KW_SCR_DELT, KW_SCR_LEFT, KW_SCR_MODE, KW_SCR_NOT, KW_SCR_OFFS, KW_SCR_RPOS, KW_SCR_RT, KW_SCREEN, KW_SCRN_IO, KW_SCRN_LNS, KW_SCRN_VAL, KW_SCROLL, KW_SCROLL_H, KW_SCROLL_V, KW_SCROLLBA, KW_SCROLLBL, KW_SCROLLIN, KW_SDBNAME, KW_SEAL, KW_SEAL_TST, KW_SEAR_SLF, KW_SEAR_TRG, KW_SEARCH, KW_SECTION, KW_SECUR_P, KW_SEEK, KW_SEL_ALL, KW_SEL_END, KW_SEL_FOCR, KW_SEL_LST, KW_SEL_NEXT, KW_SEL_PREV, KW_SEL_ROW, KW_SEL_STRT, KW_SEL_TXT, KW_SELECT, KW_SELECTBL, KW_SELECTED, KW_SELECTN, KW_SELF, KW_SEND, KW_SEND_SQL, KW_SENSITIV, KW_SEP_CONN, KW_SEP_FGC, KW_SEPS, KW_SEQUENCE, KW_SERIALZH, KW_SERIALZN, KW_SERIALZR, KW_SERVER, KW_SESS_END, KW_SESSION, KW_SESSN_ID, KW_SET, KW_SET_A_CT, KW_SET_A_L, KW_SET_A_N, KW_SET_ACTR, KW_SET_ACTX, KW_SET_ATTR, KW_SET_B_OR, KW_SET_BLUE, KW_SET_BRK, KW_SET_BUF, KW_SET_C_P, KW_SET_CB_P, KW_SET_CBAC, KW_SET_CLNT, KW_SET_COMM, KW_SET_CONT, KW_SET_COOK, KW_SET_DBCL, KW_SET_DYN, KW_SET_EVMO, KW_SET_GRN, KW_SET_ISRC, KW_SET_M_UN, KW_SET_N_F, KW_SET_NODE, KW_SET_ODST, KW_SET_OPT, KW_SET_PARM, KW_SET_PROP, KW_SET_PTR, KW_SET_R_P, KW_SET_RED, KW_SET_RGB, KW_SET_ROLL, KW_SET_RPOS, KW_SET_RRP, KW_SET_S_AR, KW_SET_S_O, KW_SET_SEL, KW_SET_SERD, KW_SET_SZ, KW_SET_T_S, KW_SET_U_F, KW_SET_W_S, KW_SET_WAIT, KW_SET_WKDR, KW_SETTINGS, KW_SETUSER, KW_SH_LOCK, KW_SHA1_DIG, KW_SHARED, KW_SHORT, KW_SHOW_ITB, KW_SHOW_ST, KW_SIDE_L, KW_SIDE_L_H, KW_SIGNATUR, KW_SILENT, KW_SIMPLE, KW_SING_RUN, KW_SINGLE, KW_SINGLTON, KW_SIZE, KW_SIZE_C, KW_SIZE_P, KW_SKIP, KW_SKIP_D_R, KW_SLIDER, KW_SMAL_ICO, KW_SMAL_TTL, KW_SMALLINT, KW_SMTP_EML, KW_SMTP_PW, KW_SMTP_VAL, KW_SMTPFROM, KW_SMTPHOST, KW_SMTPHTML, KW_SMTPPORT, KW_SMTPREPL, KW_SMTPSUBJ, KW_SMTPTEXT, KW_SMTPUSER, KW_SOAP_F, KW_SOAP_F_A, KW_SOAP_F_C, KW_SOAP_F_D, KW_SOAP_F_N, KW_SOAP_F_R, KW_SOAP_F_S, KW_SOAP_FMH, KW_SOAP_FSC, KW_SOAP_HDR, KW_SOAP_HER, KW_SOAP_VER, KW_SOCKET, KW_SOME, KW_SORT, KW_SORT_ASC, KW_SORT_NUM, KW_SOURCE, KW_SPACE, KW_SQL, KW_SQL_WID, KW_SQRT, KW_SRC_PROC, KW_SRV_C_B, KW_SRV_C_BR, KW_SRV_C_C, KW_SRV_C_I, KW_SRV_OP_M, KW_SRV_SOCK, KW_SSL_SRVN, KW_ST_2_FIT, KW_STANDALN, KW_START, KW_START_BS, KW_START_DC, KW_START_EL, KW_START_MV, KW_START_RR, KW_START_RS, KW_START_SC, KW_STARTING, KW_STAT_A_F, KW_STAT_DET, KW_STATIC, KW_STATUS, KW_STATUS_A, KW_STDCALL, KW_STOP, KW_STOP_AFT, KW_STOP_D, KW_STOP_PRS, KW_STOPPED, KW_STORPROC, KW_STR_VAL, KW_STR_XREF, KW_STREAM, KW_STRICT, KW_STRING, KW_STRM_HND, KW_STRM_IO, KW_STUP_PAR, KW_SUB_AVG, KW_SUB_CNT, KW_SUB_M_H, KW_SUB_MAX, KW_SUB_MENU, KW_SUB_MIN, KW_SUB_TOT, KW_SUBSCRIB, KW_SUBSTIT, KW_SUBSTR, KW_SUBTYPE, KW_SUM, KW_SUP_NS_P, KW_SUP_PROC, KW_SUP_WARN, KW_SUPER, KW_SUPW_LST, KW_SYM_EN_A, KW_SYM_EN_I, KW_SYM_EN_K, KW_SYM_SUPP, KW_SYNCHRON, KW_SYS_A_B, KW_SYS_DLG, KW_SYS_HELP, KW_SYS_ID, KW_TAB, KW_TAB_CRCL, KW_TAB_HAND, KW_TAB_LIST, KW_TAB_NUM, KW_TAB_POS, KW_TAB_SCAN, KW_TAB_STOP, KW_TAB_TRG, KW_TABLE, KW_TAG, KW_TAR_PROC, KW_TARGET, KW_TEMP_DIR, KW_TEMP_TAB, KW_TERM, KW_TERMINAT, KW_TEXT, KW_THEN, KW_THIS_OBJ, KW_THIS_PRC, KW_THROUGH, KW_THROW, KW_TIC_MARK, KW_TIME, KW_TIME_SRC, KW_TIMER, KW_TIMESTMP, KW_TIMEZONE, KW_TITL_BGC, KW_TITL_DC, KW_TITL_FGC, KW_TITL_FON, KW_TITLE, KW_TO, KW_TO_ROWID, KW_TODAY, KW_TOGGL_BX, KW_TOOLTIP, KW_TOOLTIPS, KW_TOP, KW_TOP_COL, KW_TOP_NAVQ, KW_TOP_ONLY, KW_TOPIC, KW_TOTAL, KW_TRAC_CHG, KW_TRAILING, KW_TRAN_I_P, KW_TRAN_MOD, KW_TRANS, KW_TRANSPAR, KW_TRC_FILT, KW_TRIGGER, KW_TRIGGERS, KW_TRIM, KW_TRUNC, KW_TT_PREP, KW_TTCP, KW_TXT_CURS, KW_TXT_SEG, KW_TXT_SEL, KW_TYPE, KW_TYPE_OF, KW_U_CTRL, KW_U_MSG, KW_U_PCTRL, KW_U_SERIAL, KW_UNBOX, KW_UNBUF, KW_UNDERLIN, KW_UNDO, KW_UNDO_T_S, KW_UNFORMAT, KW_UNION, KW_UNIQ_ID, KW_UNIQ_MAT, KW_UNIQUE, KW_UNIX, KW_UNIX_END, KW_UNL_HID, KW_UNLOAD, KW_UNS_BYTE, KW_UNS_LONG, KW_UNS_SHRT, KW_UNSUBSCR, KW_UP, KW_UPD_ATTR, KW_UPDATE, KW_URL, KW_URL_DECO, KW_URL_ENCO, KW_URL_FLD, KW_URL_FLDL, KW_URL_FMT, KW_URL_PW, KW_URL_UID, KW_USE, KW_USE_DCT, KW_USE_FIL, KW_USE_IDX, KW_USE_REV, KW_USE_TXT, KW_USE_UND, KW_USE_WIDP, KW_USER_ID, KW_USERID, KW_USING, KW_USR_DATA, KW_UTC_OFF, KW_V6DISP, KW_V6FRAME, KW_VAL_CHG, KW_VAL_ENAB, KW_VAL_EVT, KW_VAL_EXPR, KW_VAL_HND, KW_VAL_MSG, KW_VAL_OBJ, KW_VAL_SEAL, KW_VAL_XML, KW_VALEXP, KW_VALIDATE, KW_VALMSG, KW_VALUE, KW_VALUES, KW_VAR, KW_VERBOSE, KW_VERSION, KW_VERT, KW_VIEW, KW_VIEW_AS, KW_VIEW_FCR, KW_VIRT_HC, KW_VIRT_HP, KW_VIRT_WC, KW_VIRT_WP, KW_VISIBLE, KW_VMS, KW_VOID, KW_WA_H_P, KW_WA_W_P, KW_WA_X, KW_WA_Y, KW_WAIT, KW_WAIT_FOR, KW_WARN, KW_WC_AD_AP, KW_WEB, KW_WEB_CTX, KW_WEB_OUT, KW_WEEK, KW_WHEN, KW_WHERE, KW_WHERE_ST, KW_WHILE, KW_WID_ENT, KW_WID_HAND, KW_WID_ID, KW_WID_LEAV, KW_WID_POOL, KW_WIDGET, KW_WIDTH, KW_WIDTH_C, KW_WIDTH_P, KW_WIN_CLOS, KW_WIN_DMIN, KW_WIN_MAX, KW_WIN_MIN, KW_WIN_NAME, KW_WIN_NORM, KW_WIN_RESI, KW_WIN_REST, KW_WIN_STAT, KW_WIN_SYS, KW_WINDOW, KW_WITH, KW_WORD_IDX, KW_WORD_WRP, KW_WORK_TAB, KW_WR_CDATA, KW_WR_CHARS, KW_WR_CMNT, KW_WR_D_ELM, KW_WR_DATA, KW_WR_E_ELM, KW_WR_ENT_R, KW_WR_EXDTD, KW_WR_FRAGM, KW_WR_JSON, KW_WR_MSG, KW_WR_PRINS, KW_WR_STAT, KW_WR_XML, KW_WR_XMLSC, KW_WRITE, KW_X, KW_X_DOC, KW_X_NODE, KW_X_OF, KW_XCODE, KW_XML_DTYP, KW_XML_NNAM, KW_XML_NTYP, KW_XML_SCHP, KW_XML_SNSP, KW_XPR2PDF, KW_XREF, KW_XREF_XML, KW_Y, KW_Y_OF, KW_YEAR, KW_YEAR_OFF, KW_YES_NO, KW_YES_NO_C, LABEL, LABEL_DEF, LANGUAGES, LBRACKET, LEFT_OUTER_JOIN, LETTER, LIBRARY_PROCEDURE, LIBRARY_REF, LPARENS, LT, LTE, MANDATORY, MANY_TO_ONE, METH_CHAR, METH_CLASS, METH_COM_HANDLE, METH_DATE, METH_DATETIME, METH_DATETIME_TZ, METH_DEC, METH_HANDLE, METH_INT, METH_INT64, METH_LOGICAL, METH_LONGCHAR, METH_MEMPTR, METH_POLY, METH_RAW, METH_RECID, METH_ROWID, METH_VOID, METHOD_DEF, METHOD_INVOCATION, MINUS, MISSING, MORE, MULTIPLY, NATIVE_API, NATIVE_PROCESS, NATIVE_PROGRAM_RESOURCE, NETWORK_CONNECTION, NO_LOCK_LITERAL, NO_MATCH, NO_REFERENCE, NO_TRANSACTION, NO_WAIT_LITERAL, NOT_BETWEEN, NOT_ENTERED, NOT_EQ, NOT_EXISTS, NOT_IN, NOT_LIKE, NOT_NULL, NULL_TREE_LOOKAHEAD, NUM_LITERAL, OBJECT_INVOCATION, OCX_CONTROL, ONE_TO_MANY, ONE_TO_ONE, OPEN_CURSOR, OPEN_QUERY, OPTION, ORDER, ORDER_BY, OUTPUT_CLOSE, OUTPUT_THRU, OUTPUT_TO, PARAMETER, PARENT_CHILD_RELATION, PARENT_ID_RELATION, PLUS, PORT_TYPE, POSITION, PROCEDURE, PROCEDURE_FILE, PROCESS_EVENTS, PROPERTIES, PROPERTY_INVOCATION, PUT_CURSOR, PUT_FIELD, PUT_SCREEN, QUERY, QUERY_SUBST, RANGE_MATCH, RAW_STRING, RBRACKET, READ_AVAILABLE_LITERAL, READ_EXACT_NUM_LITERAL, RECORD_PHRASE, RELEASE_EXTERNAL, RELEASE_OBJECT, RIGHT_OUTER_JOIN, RPARENS, RSTRING, RUN_FILENAME, RUN_FILENAME_ON_SERVER, RUN_INT_PROC, RUN_INT_PROC_ON_SERVER, RUN_LIBRARY_REF, RUN_LIBRARY_REF_ON_SERVER, RUN_PORT_TYPE_ON_SERVER, RUN_PORT_TYPE_VALUE_ON_SERVER, RUN_STORED_PROCEDURE, RUN_SUPER, RUN_VALUE, RUN_VALUE_ON_SERVER, RUNTIME_BROWSE_OPTIONS, RUNTIME_FRAME_OPTIONS, SAVE_CACHE, SCHEMA_FILE, SEARCH_SELF_LITERAL, SEARCH_TARGET_LITERAL, SELF_REFERENCE, SEQUENCE, SHARE_LOCK_LITERAL, SHARED_LIBRARY, SLASH_SLASH, SORT_MATCH, SQL_WIDTH, SSTRING, STATEMENT, STR_OPTIONS, STREAM, STRING, STRONG_REFERENCE, SUB_TRANSACTION, SUPPORT_LVL_FULL, SUPPORT_LVL_FULL_WITH_LIMITATIONS, SUPPORT_LVL_NONE, SUPPORT_LVL_PARTIAL, SYM_CHAR, SYMBOL, SYS_HANDLE, SYSTEM_DIALOG_COLOR, SYSTEM_DIALOG_FONT, SYSTEM_DIALOG_GET_DIR, SYSTEM_DIALOG_GET_FILE, SYSTEM_DIALOG_PRINTER_SETUP, TABLE, TEMP_TABLE, TILDE, TRAILER, TRANSACTION, TRANSACTION_DISTINCT, TRANSACTION_MODE_AUTO, TRIGGER_BLOCK, TRIGGER_PHRASE, TRIGGER_PROCEDURE, UN_MINUS, UN_PLUS, UNKNOWN_RESOURCE, UNKNOWN_TOKEN, UNKNOWN_VAL, UPDATE_SQL, VALEXP, VALID_SYM_CHAR, VALIDATION, VALMSG, VAR_BYTE, VAR_CHAR, VAR_CLASS, VAR_COM_HANDLE, VAR_DATE, VAR_DATETIME, VAR_DATETIME_TZ, VAR_DEC, VAR_DOUBLE, VAR_FLOAT, VAR_HANDLE, VAR_INT, VAR_INT64, VAR_LOGICAL, VAR_LONG, VAR_LONGCHAR, VAR_MEMPTR, VAR_RAW, VAR_RECID, VAR_ROWID, VAR_SHORT, VAR_ULONG, VAR_USHORT, WEAK_REFERENCE, WEB_PROC, WHEN_LIST, WHERE_CURRENT_OF, WID_BROWSE, WID_BROWSE_COL, WID_BUTTON, WID_COMBO, WID_DIALOG, WID_EDITOR, WID_FILL_IN, WID_FRAME, WID_IMAGE, WID_LITERAL, WID_MENU, WID_MENU_ITM, WID_RADIO, WID_RECT, WID_SEL_LST, WID_SLIDER, WID_SUB_MENU, WID_TEXT, WID_TOGGLE, WID_WINDOW, WIDGET_LIST, WIDGET_POOL, WITH_CHECK_OPTION, WITH_GRANT_OPTION, WORD_MATCH, WORK_TABLE, WS, XSTRING
Modifier | Constructor and Description |
---|---|
|
SchemaParser(antlr.ParserSharedInputState state) |
|
SchemaParser(antlr.TokenBuffer tokenBuf) |
protected |
SchemaParser(antlr.TokenBuffer tokenBuf,
int k) |
|
SchemaParser(antlr.TokenStream lexer) |
|
SchemaParser(antlr.TokenStream lexer,
boolean bogus)
Constructs a parser using a lexer instance.
|
protected |
SchemaParser(antlr.TokenStream lexer,
int k) |
Modifier and Type | Method and Description |
---|---|
void |
any_ridiculous_symbol()
Match any kind of text as a symbol, even if the text would not normally be allowed to start
a symbol (e.g.
|
void |
area()
This rule matches a set of tokens assumed from the caller's context to be
the value of the
AREA property of a table or index. |
int |
as_clause()
Match a set of tokens for the
AS clause, which defines the data
type of a field. |
void |
bufpool()
Optional
BUFPOOL keyword followed by an EQUALS and
a boolean literal. |
protected void |
buildTokenTypeASTClassMap() |
void |
clobCodepage()
Match
CLOB-CODEPAGE keyword and a following STRING
for a field. |
void |
clobCollation()
Match
CLOB-COLLATION keyword and a following STRING
for a field. |
void |
clobType()
Match
CLOB-TYPE keyword and a following NUM_LITERAL
for a field. |
void |
code_page()
Code-page related keywords and a code-page name as a
SYMBOL . |
void |
columnLabel()
Match a set of tokens assumed from the caller's context to be the value
of the
COLUMN-LABEL property of a Progress field. |
void |
crc_clause()
Matches the
CRC keyword followed by a string literal. |
void |
cruft()
Match options that make no sense.
|
void |
cycleOnLimit()
Match a set of tokens assumed from the caller's context to be the
value of the
CYCLE-ON-LIMIT property of a sequence. |
java.lang.String |
database()
Match a database construct, which specifies the database name.
|
void |
decimals()
Match a set of tokens as the value of the
DECIMALS property of
a field. |
void |
description()
Match a set of tokens assumed from the caller's context to be the
value of the
DESCRIPTION property of a table, field,
or index. |
void |
dumpName()
Match a set of tokens assumed from the caller's context to be the
value of the
DUMP-NAME property of a table. |
void |
extent()
Match a set of tokens as the value of the
EXTENT property of a
field. |
void |
field_trigger()
Match a
FIELD-TRIGGER clause in the field() . |
void |
field()
This rule matches a field definition, which consists of the
ADD FIELD phrase followed by field property definitions, some
of which are optional. |
private boolean |
followedByWhitespace(antlr.Token tok)
Check if the given token is followed by whitespace in the original
source code (by reading from the hidden token stream).
|
private void |
forceLineColumnNums(Aast source,
Aast target)
Set the line and column numbers of the target AST to be the same as
the source AST.
|
void |
format()
Match a set of tokens which is the value of the
FORMAT property
of a field. |
void |
frozen()
Match a token assumed from the caller's context to be the
value of the
FROZEN property of a table. |
void |
help()
Match a set of tokens as the value of the
HELP property of a
field. |
void |
hidden()
Match a token assumed from the caller's context to be the
value of the
HIDDEN property of a table. |
void |
increment()
Match a set of tokens assumed from the caller's context to be the
value of the
INCREMENT property of a sequence. |
void |
index_props()
Index properties, aggregated as children of an artificial
PROPERTIES node, which is itself a direct child of the
INDEX node. |
void |
index()
Matches an index definition, which consists of the
ADD INDEX
phrase followed by index property definitions, some of which are optional,
followed by some number of child entity definitions
(field references). |
void |
indexField()
Matches an index field definition, which consists of the
INDEX-FIELD keyword followed by index field property
definitions, some of which are optional. |
void |
initial(int ftype,
java.lang.String fmt)
Match a set of tokens assumed from the caller's context to be the value
of the
INITIAL property of a sequence or field. |
void |
label()
Match a set of tokens assumed from the caller's context to be the
value of the
LABEL property of a table or field. |
void |
length()
Match a set of tokens as the value of the
LENGTH property of a
field. |
void |
literal()
Matches a single instance of any and all legal Progress 4GL literals
(hard-coded instances of data types, otherwise called constants).
|
void |
lobArea()
Match
LOB-AREA keyword and a following STRING
for a field. |
void |
lobBytes()
Match
LOB-BYTES keyword and a following
NUM_LITERAL for a field. |
void |
lobSize()
Match
LOB-SIZE keyword and a following size specification
for a field. |
static void |
main(java.lang.String[] args)
Provides a command line interface for an end user to drive and/or test
schema file lexing.
|
void |
maxVal()
Match a set of tokens assumed from the caller's context to be the value
of the
MAX-VAL property of a sequence. |
void |
maxWidth()
Match
MAX-WIDTH keyword and a following
NUM_LITERAL for a field. |
private boolean |
mergeUntilWS()
Merge the following non-hidden token text until (and including) a token
followed by whitespace or
EOF . |
void |
minVal()
Match a set of tokens assumed from the caller's context to be the value
of the
MIN-VAL property of a sequence. |
private static long[] |
mk_tokenSet_0() |
private static long[] |
mk_tokenSet_1() |
private static long[] |
mk_tokenSet_10() |
private static long[] |
mk_tokenSet_11() |
private static long[] |
mk_tokenSet_12() |
private static long[] |
mk_tokenSet_13() |
private static long[] |
mk_tokenSet_14() |
private static long[] |
mk_tokenSet_15() |
private static long[] |
mk_tokenSet_16() |
private static long[] |
mk_tokenSet_17() |
private static long[] |
mk_tokenSet_18() |
private static long[] |
mk_tokenSet_2() |
private static long[] |
mk_tokenSet_3() |
private static long[] |
mk_tokenSet_4() |
private static long[] |
mk_tokenSet_5() |
private static long[] |
mk_tokenSet_6() |
private static long[] |
mk_tokenSet_7() |
private static long[] |
mk_tokenSet_8() |
private static long[] |
mk_tokenSet_9() |
void |
order()
Match a set of tokens as the value of the
ORDER property of a
field. |
private void |
outputWarning(Aast node,
java.lang.String front,
java.lang.String back)
Helper to output a warning message with AST-specific type, line and
column data to STDERR.
|
void |
permissions()
Match permissions clause as a property of a table or field.
|
void |
position()
Match a set of tokens assumed from the caller's context to be the value
of the
POSITION property of a Progress field. |
private boolean |
prefacedByWhitespace(antlr.Token tok)
Check if the given token is prefaced by whitespace in the original
source code (by reading from the hidden token stream).
|
void |
proc_clause()
Matches the
PROCEDURE keyword followed by a string literal. |
private antlr.Token |
relex(java.lang.String input)
Helper to instantiate a new (limited use) lexer and re-lex the input.
|
private java.lang.String |
removeBogusQuotes(java.lang.String quoted)
Helper to remove surrounding unnecessary double quotes.
|
void |
schema()
Top-level parser method, from which the entire recursive descent parsing
of tokens for this file begins.
|
void |
sequence()
Matches a sequence definition, which consists of the
ADD SEQUENCE phrase followed by sequence property
definitions. |
private void |
setupHiddenFilter()
Configure the hidden filter to ensure that token types that are not
normally recognized by the parser, are hidden (but still accessible)
using the filter.
|
void |
sqlWidth()
Match a set of tokens as the value of the
SQL-WIDTH property of
a field. |
void |
table_props()
Matches all possible table property definitions.
|
void |
table_trigger()
Match a
TABLE-TRIGGER clause in the table_props() . |
void |
table()
|
void |
trailer()
Match the trailer section of the file.
|
void |
trigger_parms()
Match parameters for a table or field trigger in
table_trigger() and
field_trigger() , respectively. |
void |
unknownOption()
Match any other unrecognized option and warn that it is being dropped.
|
void |
update_stuff()
These UPDATE TABLE and UPDATE INDEX constructs were seen at the bottom of a customer
schema, but they don't seem to have any purpose in a converted environment.
|
void |
valExp()
Match a set of tokens assumed from the caller's context to be the value
of the
VALEXP property of a Progress field. |
void |
valMsg()
Match a set of tokens assumed from the caller's context to be the
value of the
VALMSG property of a table or field. |
void |
viewAs()
Match a set of tokens as the value of the
VIEW-AS property of
a field. |
addMessageListener, addParserListener, addParserMatchListener, addParserTokenListener, addSemanticPredicateListener, addSyntacticPredicateListener, addTraceListener, consumeUntil, consumeUntil, defaultDebuggingSetup, getAST, getASTFactory, getFilename, getInputState, getTokenName, getTokenNames, getTokenTypeToASTClassMap, isDebugMode, mark, match, match, matchNot, panic, recover, removeMessageListener, removeParserListener, removeParserMatchListener, removeParserTokenListener, removeSemanticPredicateListener, removeSyntacticPredicateListener, removeTraceListener, reportError, reportError, reportWarning, rewind, setASTFactory, setASTNodeClass, setASTNodeType, setDebugMode, setFilename, setIgnoreInvalidDebugCalls, setInputState, setTokenBuffer, traceIndent
public static final java.lang.String AST_CLASS
private static final boolean unixEsc
private java.lang.String currentTable
private antlr.TokenStreamHiddenTokenFilter hidden
public static final java.lang.String[] _tokenNames
public static final antlr.collections.impl.BitSet _tokenSet_0
public static final antlr.collections.impl.BitSet _tokenSet_1
public static final antlr.collections.impl.BitSet _tokenSet_2
public static final antlr.collections.impl.BitSet _tokenSet_3
public static final antlr.collections.impl.BitSet _tokenSet_4
public static final antlr.collections.impl.BitSet _tokenSet_5
public static final antlr.collections.impl.BitSet _tokenSet_6
public static final antlr.collections.impl.BitSet _tokenSet_7
public static final antlr.collections.impl.BitSet _tokenSet_8
public static final antlr.collections.impl.BitSet _tokenSet_9
public static final antlr.collections.impl.BitSet _tokenSet_10
public static final antlr.collections.impl.BitSet _tokenSet_11
public static final antlr.collections.impl.BitSet _tokenSet_12
public static final antlr.collections.impl.BitSet _tokenSet_13
public static final antlr.collections.impl.BitSet _tokenSet_14
public static final antlr.collections.impl.BitSet _tokenSet_15
public static final antlr.collections.impl.BitSet _tokenSet_16
public static final antlr.collections.impl.BitSet _tokenSet_17
public static final antlr.collections.impl.BitSet _tokenSet_18
public SchemaParser(antlr.TokenStream lexer, boolean bogus)
lexer
- An instance of a TokenStream
object.bogus
- Useless parameter which is only here to differentiate between
this constructor and the standard one that ANTLR generates
which doesn't have this parameter.protected SchemaParser(antlr.TokenBuffer tokenBuf, int k)
public SchemaParser(antlr.TokenBuffer tokenBuf)
protected SchemaParser(antlr.TokenStream lexer, int k)
public SchemaParser(antlr.TokenStream lexer)
public SchemaParser(antlr.ParserSharedInputState state)
private void setupHiddenFilter()
private void outputWarning(Aast node, java.lang.String front, java.lang.String back)
node
- The AST to inspect for log data.front
- Log prefix.back
- Log suffix.private java.lang.String removeBogusQuotes(java.lang.String quoted)
private void forceLineColumnNums(Aast source, Aast target)
source
- AST with the line and column numbers to copy.target
- AST to modify.private antlr.Token relex(java.lang.String input) throws antlr.TokenStreamException
INITIAL
having children that
are of the STRING
type even when they should be some other
kind of literal. This method removes the unnecessary enclosing
double quotes and then calls the lexer to obtain the resulting token.
It is assumed at this time that only one token will be present in the
passed input string. If this is not the case, we will have to make
more serious changes!input
- The double quoted enclosed string containing a token to lex.null
if the input text is an empty string.antlr.TokenStreamException
private boolean prefacedByWhitespace(antlr.Token tok)
tok
- The token from the token stream (the lexer) which is needed
in order to examine any prefacing hidden tokens.true
if the given token is prefaced by whitespace
in the hidden token stream.private boolean followedByWhitespace(antlr.Token tok)
tok
- The token from the token stream (the lexer) which is needed
in order to examine if there are following hidden tokens.true
if the given token is followed by whitespace
in the hidden token stream.private boolean mergeUntilWS() throws antlr.TokenStreamException, antlr.MismatchedTokenException
EOF
.
All the merged tokens will be consumed and the merged text will be stored in the last token before the token that triggered the end of merging. The line and column numbers of the merged token will be forced to the same values as the first token on entry.
true
if merging was done, false
if
no changes were made.antlr.TokenStreamException
antlr.MismatchedTokenException
public static void main(java.lang.String[] args)
Syntax:
java SchemaParser [-l | -v] <schema_dump_file>Where:
args
- List of command line arguments.public final void schema() throws antlr.RecognitionException, antlr.TokenStreamException
database()
construct;
sequence()
constructs;
table()
constructs;
trailer()
construct;
The root of the schema AST will be an artificial DATABASE
node.
All sub-trees created by the rule references will be attached as child
nodes, in the order shown above.
antlr.RecognitionException
antlr.TokenStreamException
public final java.lang.String database() throws antlr.RecognitionException, antlr.TokenStreamException
The sub-tree created by this rule is rooted at the KW_DATABASE
node and has a single child which is the STRING
that is the
database name. Any KW_ADD
or KW_UPDATE
token
is dropped.
antlr.RecognitionException
antlr.TokenStreamException
public final void sequence() throws antlr.RecognitionException, antlr.TokenStreamException
ADD SEQUENCE
phrase followed by sequence property
definitions.
The AST is produced rooted at the artificial SEQUENCE
node.
The KW_ADD
, KW_SEQUENCE
and the STRING
tokens are all dropped from the tree, and sequence name (from the
STRING
node) will be set as the text for the
SEQUENCE
node. The children of this node will be the sub-trees
created by the rule references for the sequence properties.
antlr.RecognitionException
antlr.TokenStreamException
public final void table() throws antlr.RecognitionException, antlr.TokenStreamException
ADD TABLE
phrase followed by table property definitions, some of which are optional,
then some number of field()
and/or index()
definitions.
The AST is produced rooted at an artificial TABLE
node (not to
be confused with the KW_TABLE
). The KW_ADD
,
KW_TABLE
, STRING
, KW_TYPE
and
SYMBOL
tokens are all dropped from the tree, and table name
(from the STRING
node) will be set as the text for the
TABLE
node. The children of this node will be the sub-trees
created by the rule references for the table properties, fields and indexes.
antlr.RecognitionException
antlr.TokenStreamException
public final void update_stuff() throws antlr.RecognitionException, antlr.TokenStreamException
antlr.RecognitionException
antlr.TokenStreamException
public final void trailer() throws antlr.RecognitionException, antlr.TokenStreamException
This matches some DOT
tokens, some code-page related keywords
and then matches the bytecount numeric token which completes the file.
The sub-tree created by this rule will be rooted at an artificial
TRAILER
node. The first child will be the sub-tree from the
code_page rule and the second child will be the NUM_LITERAL
which represents the byte or character count for the file.
antlr.RecognitionException
antlr.TokenStreamException
public final void bufpool() throws antlr.RecognitionException, antlr.TokenStreamException
BUFPOOL
keyword followed by an EQUALS
and
a boolean literal. This can appear in the trailer()
.antlr.RecognitionException
antlr.TokenStreamException
public final void code_page() throws antlr.RecognitionException, antlr.TokenStreamException
SYMBOL
.
The sub-tree created by this rule will be rooted at the KW_PSC
node and all following nodes will be it's direct children.
antlr.RecognitionException
antlr.TokenStreamException
public final void any_ridiculous_symbol() throws antlr.RecognitionException, antlr.TokenStreamException
antlr.RecognitionException
antlr.TokenStreamException
public final void initial(int ftype, java.lang.String fmt) throws antlr.RecognitionException, antlr.TokenStreamException
INITIAL
property of a sequence or field.
Matches:
KW_INIT
keyword token
literal()
The schema dump file encloses all data values inside double quotes
and the lexer doesn't know when to remove the quotes and when to leave
them, since the necessary context is only known to the parser. Only the
parser can know this based on the data type of the field or the fact that
this is a sequence. This results in the INITIAL
construct
having children that are of the STRING
type even when they
should be some other kind of literal. To resolve this issue, the
relex
helper method is used and the offending token is
overwritten in the init method. Then the matching continues as it should
with no problems and having the correct types. WARNING: this rewriting does
not handle the situation where multiple tokens exist *inside* a single
STRING
token!
WARNING: in normal Progress 4GL source, when extent > 0, this same construct can have a list of comma-separated values. No examples have been encountered yet and the code in this rule won't match such conditions.
The sub-tree created by this rule is rooted at a KW_INIT
and
that node will have a single child which is the literal initial value.
If this construct is encountered while parsing the definition for a field
of type RAW
, the tokens will be discarded and no sub-tree will
be created. This is done since it is invalid to initialize a field of that
type.
ftype
- The data type of the field or sequence being processed for the
initial clause.fmt
- The format string to be used in manhandling user-defined logical
'constants' or null
if no format string exists.antlr.RecognitionException
antlr.TokenStreamException
public final void increment() throws antlr.RecognitionException, antlr.TokenStreamException
INCREMENT
property of a sequence.
Matches:
KW_INCR
token
NUM_LITERAL
The sub-tree produced as a result consists of a INCREMENT
node representing the property key (the KW_INCR
type is
replaced) and a single child node with a type of NUM_LITERAL
.
antlr.RecognitionException
antlr.TokenStreamException
public final void cycleOnLimit() throws antlr.RecognitionException, antlr.TokenStreamException
CYCLE-ON-LIMIT
property of a sequence.
The sub-tree produced as a result consists of a CYCLE_ON_LIMIT
node representing the property key (this replaces the KW_CYCLE
token) and a single child node with the value as a literal.
antlr.RecognitionException
antlr.TokenStreamException
public final void minVal() throws antlr.RecognitionException, antlr.TokenStreamException
MIN-VAL
property of a sequence.
Matches:
KW_MIN_VAL
keyword token
NUM_LITERAL
The sub-tree produced as a result consists of a KW_MIN_VAL
node representing the property key and a single child node with a type of
NUM_LITERAL
.
antlr.RecognitionException
antlr.TokenStreamException
public final void maxVal() throws antlr.RecognitionException, antlr.TokenStreamException
MAX-VAL
property of a sequence.
Matches:
KW_MAX_VAL
keyword token
NUM_LITERAL
The sub-tree produced as a result consists of a KW_MAX_VAL
node representing the property key and a single child node with a type of
NUM_LITERAL
.
antlr.RecognitionException
antlr.TokenStreamException
public final void table_props() throws antlr.RecognitionException, antlr.TokenStreamException
The sub-tree created is rooted at an artificial PROPERTIES
node. Each property is parsed in its own rule. All of the sub-trees
for those properties are attached as children of the root node, in the same
order they are encountered in the file. If no properties are found for
a table, this rule doesn't create a sub-tree.
antlr.RecognitionException
antlr.TokenStreamException
public final void field() throws antlr.RecognitionException, antlr.TokenStreamException
ADD FIELD
phrase followed by field property definitions, some
of which are optional.
An AST is produced as a result, consisting of an artificial
FIELD_*
node, with its type assigned based on the data type of
the field as returned by the as_clause
rule (see that rule for
the specific types that can be returned). The text of that root node is the
field name as parsed from the text of the first STRING
token.
The KW_ADD
, KW_FIELD
, STRING
,
KW_OF
and STRING
tokens are all dropped from the
tree. Likewise, the sub-tree for as_clause
is dropped, but as
noted above, the data type is used as the root node type. The children of
this node will be the sub-trees created by the rule references for the field
properties. In the case of the KW_MAND
and
KW_CASE_SEN
tokens, the node is directly added as a child of
the root (but in the case of KW_MAND
it is converted to
artificial type MANDATORY
).
Implementation Note: There is an assertion within this method to ensure that the table name associated with the table field being parsed is the same as the name of the table definition most recently parsed. This ensures that this field definition, which is assumed to be in the context of the most recent table definition, is properly "nested" as expected within that table. This is not a critical assertion at runtime, but was a reality check during development of this grammar, to confirm the assumption that a field definition would always be a child of the most recently parsed table definition.
antlr.SemanticException
- if this field definition reports a different parent table name
from the table definition most recently parsed.antlr.RecognitionException
antlr.TokenStreamException
public final void index() throws antlr.RecognitionException, antlr.TokenStreamException
ADD INDEX
phrase followed by index property definitions, some of which are optional,
followed by some number of child entity definitions
(field references). The index name is found in the first STRING
token and the table name on which the index is based is found in the second
STRING
token (after the KW_ON
).
A sub-tree is produced as a result, consisting of an artificial
INDEX
token node, with an artificial PROPERTIES
child node containing the index properties, and an artificial
INDEX_FIELD
child node for each field of this index. The text
of the INDEX
node will be set as the index name read from the
first STRING
token. The KW_ADD
,
KW_INDEX
, STRING
, KW_ON
and
STRING
tokens are all dropped from the tree.
Implementation Note: There is an assertion within this method to ensure that the table name associated with the table index being parsed is the same as the name of the table definition most recently parsed. This ensures that this index definition, which is assumed to be in the context of the most recent table definition, is properly "nested" as expected within that table. This is not a critical assertion at runtime, but was a reality check during development of this grammar, to confirm the assumption that an index definition would always be a child of the most recently parsed table definition.
antlr.SemanticException
- if this index definition reports a different parent table name
from the table definition most recently parsed.antlr.RecognitionException
antlr.TokenStreamException
public final void area() throws antlr.RecognitionException, antlr.TokenStreamException
AREA
property of a table or index.
The resulting sub-tree will be a single artficial node of type
AREA
with it's text set as the text contents of the
STRING
node. The actual tokens read by the rule will be dropped.
antlr.RecognitionException
antlr.TokenStreamException
public final void label() throws antlr.RecognitionException, antlr.TokenStreamException
LABEL
property of a table or field.
The resulting sub-tree will be rooted at the KW_LABEL
node and
the STRING
will be its only child node.
antlr.RecognitionException
antlr.TokenStreamException
public final void description() throws antlr.RecognitionException, antlr.TokenStreamException
DESCRIPTION
property of a table, field,
or index.
The resulting sub-tree will be rooted at an artificial
DESCRIPTION
node and the text of that node will be set as
the text contents of the STRING
node. Both tokens being
matched will be discarded.
antlr.RecognitionException
antlr.TokenStreamException
public final void valExp() throws antlr.RecognitionException, antlr.TokenStreamException
VALEXP
property of a Progress field. This results in
a VALEXP
AST with a single child of type STRING
.
The string as read from the DF file is enclosed within double quotes;
these are removed. The DF file escapes embedded double quotes in this
string by doubling them up. All doubled-up double quotes are replaced
with single, double quotes (e.g., ...""some text""
... becomes
..."some text"
...).
The child node will need to be post-processed if it contains a real Progress 4GL expression.
antlr.RecognitionException
antlr.TokenStreamException
public final void valMsg() throws antlr.RecognitionException, antlr.TokenStreamException
VALMSG
property of a table or field.
Matches
KW_VALMSG
token
STRING
The resulting AST will be rooted at an artificial VALMSG
node, with the STRING
as a child of an artificial
EXPRESSION
node (which makes the STRING
the
grand-child node to the VALMSG
.
The child node will need to be post-processed if it contains a real Progress 4GL expression rather than only a string literal. All samples to date are only a simple string so this code will work properly.
antlr.RecognitionException
antlr.TokenStreamException
public final void frozen() throws antlr.RecognitionException, antlr.TokenStreamException
FROZEN
property of a table.
The resulting AST will be a single node of artificial type
FROZEN
.
antlr.RecognitionException
antlr.TokenStreamException
public final void hidden() throws antlr.RecognitionException, antlr.TokenStreamException
HIDDEN
property of a table.
The resulting AST will be a single node of artificial type
HIDDEN
.
antlr.RecognitionException
antlr.TokenStreamException
public final void dumpName() throws antlr.RecognitionException, antlr.TokenStreamException
DUMP-NAME
property of a table.
The resulting sub-tree is rooted at an artificial DUMP_NAME
node and the text contents of the STRING
are set as the text
of the root node. The KW_DMP_NAME
and STRING
tokens are discarded.
antlr.RecognitionException
antlr.TokenStreamException
public final void permissions() throws antlr.RecognitionException, antlr.TokenStreamException
The resulting sub-tree will have the permission keyword (e.g.
KW_CAN_READ
as the root node and the STRING
as
the child node.
antlr.RecognitionException
antlr.TokenStreamException
public final void table_trigger() throws antlr.RecognitionException, antlr.TokenStreamException
TABLE-TRIGGER
clause in the table_props()
.
Uses trigger_parms()
.
The sub-tree will have the KW_TAB_TRG
as the root and the
sub-tree created by trigger_parms
will be the child.
antlr.RecognitionException
antlr.TokenStreamException
public final void unknownOption() throws antlr.RecognitionException, antlr.TokenStreamException
antlr.RecognitionException
antlr.TokenStreamException
public final int as_clause() throws antlr.RecognitionException, antlr.TokenStreamException
AS
clause, which defines the data
type of a field.
The resulting sub-tree is rooted at the KW_AS
node and it will
have a single child node which is the data type keyword matched. More
importantly, the data type keyword will set the type for the field as
follows:
Type Keyword Field Data Type -------------------- --------------------- KW_BLOB FIELD_BLOB KW_CHAR FIELD_CHAR KW_CLOB FIELD_CLOB KW_COM_HNDL FIELD_COM_HANDLE KW_DATE FIELD_DATE KW_DATETIME FIELD_DATETIME KW_DATE_TZ FIELD_DATETIME_TZ KW_DEC FIELD_DEC KW_INT FIELD_INT KW_INT64 FIELD_INT64 KW_LOGICAL FIELD_LOGICAL KW_RECID FIELD_RECID KW_ROWID FIELD_ROWID KW_RAW FIELD_RAW KW_HANDLE FIELD_HANDLE
This parser is used for .df
files which are only used with
permanent databases. Since CLASS
fields are for temp-tables
only, the KW_CLASS
cannot be used in a .df
file
and FIELD_CLASS
will not be ever used as a field type in a
permanent database.
The following can also be matched, but they are only used in metadata schemas, normal Progress databases don't provide these field types.
Type Keyword Metadata Field Data Type -------------------- ------------------------ KW_BIGINT FIELD_BIGINT KW_BYTE FIELD_BYTE KW_DOUBLE FIELD_DOUBLE KW_FIXCHAR FIELD_FIXCHAR KW_FLOAT FIELD_FLOAT KW_SHORT FIELD_SHORT KW_TIMESTMP FIELD_TIMESTAMP KW_TIME FIELD_TIME
antlr.RecognitionException
antlr.TokenStreamException
public final void format() throws antlr.RecognitionException, antlr.TokenStreamException
FORMAT
property
of a field.
The resulting sub-tree is rooted at a KW_FORMAT
node with an
artificial EXPRESSION
child node and the STRING
node is a child of the EXPRESSION
.
antlr.RecognitionException
antlr.TokenStreamException
public final void position() throws antlr.RecognitionException, antlr.TokenStreamException
POSITION
property of a Progress field.
The resulting sub-tree has an artificial POSITION
node with a
child node of NUM_LITERAL
. The KW_POS
is dropped.
antlr.RecognitionException
antlr.TokenStreamException
public final void sqlWidth() throws antlr.RecognitionException, antlr.TokenStreamException
SQL-WIDTH
property of
a field.
The resulting sub-tree has an artificial SQL_WIDTH
node with a
child node of NUM_LITERAL
. The KW_SQL_WID
is
dropped.
antlr.RecognitionException
antlr.TokenStreamException
public final void columnLabel() throws antlr.RecognitionException, antlr.TokenStreamException
COLUMN-LABEL
property of a Progress field.
The resulting sub-tree is KW_COL_LAB
node with a child
node of STRING
.
antlr.RecognitionException
antlr.TokenStreamException
public final void field_trigger() throws antlr.RecognitionException, antlr.TokenStreamException
FIELD-TRIGGER
clause in the field()
.
Uses trigger_parms()
.
The sub-tree will have the KW_FLD_TRG
as the root and the
sub-tree created by trigger_parms
will be the child.
antlr.RecognitionException
antlr.TokenStreamException
public final void help() throws antlr.RecognitionException, antlr.TokenStreamException
HELP
property of a
field.
The resulting sub-tree is the KW_HELP
with a child of
STRING
.
antlr.RecognitionException
antlr.TokenStreamException
public final void extent() throws antlr.RecognitionException, antlr.TokenStreamException
EXTENT
property of a
field.
The resulting sub-tree is the KW_EXTENT
with a child of
NUM_LITERAL
.
antlr.RecognitionException
antlr.TokenStreamException
public final void decimals() throws antlr.RecognitionException, antlr.TokenStreamException
DECIMALS
property of
a field.
The resulting sub-tree is the KW_DECIMALS
with a child of
NUM_LITERAL
.
antlr.RecognitionException
antlr.TokenStreamException
public final void length() throws antlr.RecognitionException, antlr.TokenStreamException
LENGTH
property of a
field.
The resulting sub-tree is the KW_LENGTH
with a child of
NUM_LITERAL
.
antlr.RecognitionException
antlr.TokenStreamException
public final void viewAs() throws antlr.RecognitionException, antlr.TokenStreamException
VIEW-AS
property of
a field. Strangely enough, the KW_VIEW_AS
keyword is repeated
inside the STRING
text. That is just a Progress 4GL quirk.
The resulting sub-tree is the KW_VIEW_AS
with a child of
STRING
.
The string literal child will need post-processing to convert it into the full view-as phrase.
antlr.RecognitionException
antlr.TokenStreamException
public final void order() throws antlr.RecognitionException, antlr.TokenStreamException
ORDER
property of a
field.
The resulting sub-tree is an artificial ORDER
with a child of
NUM_LITERAL
. The KW_ORDER
is dropped.
antlr.RecognitionException
antlr.TokenStreamException
public final void maxWidth() throws antlr.RecognitionException, antlr.TokenStreamException
MAX-WIDTH
keyword and a following
NUM_LITERAL
for a field.
The sub-tree produced as a result consists of a KW_MAX_WID
node with a single child node with a type of NUM_LITERAL
.
antlr.RecognitionException
antlr.TokenStreamException
public final void lobArea() throws antlr.RecognitionException, antlr.TokenStreamException
LOB-AREA
keyword and a following STRING
for a field.
The sub-tree produced as a result consists of a KW_LOB_AREA
node with a single child node with a type of STRING
.
antlr.RecognitionException
antlr.TokenStreamException
public final void lobBytes() throws antlr.RecognitionException, antlr.TokenStreamException
LOB-BYTES
keyword and a following
NUM_LITERAL
for a field.
The sub-tree produced as a result consists of a KW_LOB_BYTE
node with a single child node with a type of NUM_LITERAL
.
antlr.RecognitionException
antlr.TokenStreamException
public final void lobSize() throws antlr.RecognitionException, antlr.TokenStreamException
LOB-SIZE
keyword and a following size specification
for a field. The size specification is a integral literal with an optional
single letter at the end to specify the units (e.g. 100M). This will
appear as a SYMBOL
in the resulting tree, although it
doesn't naturally lex that way.
The sub-tree produced as a result consists of a KW_LOB_SIZE
node with a single child node with a type of SYMBOL
. The
matched NUM_LITERAL
is dropped but the text of that node is
prefixed to the text of the SYMBOL
node.
antlr.RecognitionException
antlr.TokenStreamException
public final void clobCodepage() throws antlr.RecognitionException, antlr.TokenStreamException
CLOB-CODEPAGE
keyword and a following STRING
for a field.
The sub-tree produced as a result consists of a KW_CLOB_CP
node with a single child node with a type of STRING
.
antlr.RecognitionException
antlr.TokenStreamException
public final void clobCollation() throws antlr.RecognitionException, antlr.TokenStreamException
CLOB-COLLATION
keyword and a following STRING
for a field.
The sub-tree produced as a result consists of a KW_CLOB_COL
node with a single child node with a type of STRING
.
antlr.RecognitionException
antlr.TokenStreamException
public final void clobType() throws antlr.RecognitionException, antlr.TokenStreamException
CLOB-TYPE
keyword and a following NUM_LITERAL
for a field.
The sub-tree produced as a result consists of a KW_CLOB_TYP
node with a single child node with a type of NUM_LITERAL
.
antlr.RecognitionException
antlr.TokenStreamException
public final void cruft() throws antlr.RecognitionException, antlr.TokenStreamException
antlr.RecognitionException
antlr.TokenStreamException
public final void index_props() throws antlr.RecognitionException, antlr.TokenStreamException
PROPERTIES
node, which is itself a direct child of the
INDEX
node. Each matched keyword is a direct child
as are the sub-trees created in the referenced rules.antlr.RecognitionException
antlr.TokenStreamException
public final void indexField() throws antlr.RecognitionException, antlr.TokenStreamException
INDEX-FIELD
keyword followed by index field property
definitions, some of which are optional.
An AST is produced as a result, consisting of an imaginary
INDEX_FIELD
token node, with child nodes for each property
encountered.
antlr.RecognitionException
antlr.TokenStreamException
public final void literal() throws antlr.RecognitionException, antlr.TokenStreamException
NUM_LITERAL DEC_LITERAL STRING BOOL_TRUE BOOL_FALSE DATE_LITERAL DATETIME_TZ_LITERAL UNKNOWN_VAL
Note that the documentation states that there is no such thing as a date constant in Progress 4GL, however experience shows that this is not true.
There are no literal representations for RECID, ROWID or HANDLE data types since these are internal data structures of the Progress language. One can only obtain an instance of such a value from Progress itself so there is no way to hard-code such a reference as a constant.
There is no literal representation for RAW data type.
WARNING: this rule is simply copied from the grammar for the
ProgressParser
!
The sub-tree created is a single node of the type and text as created by the lexer.
antlr.RecognitionException
antlr.TokenStreamException
public final void trigger_parms() throws antlr.RecognitionException, antlr.TokenStreamException
table_trigger()
and
field_trigger()
, respectively. Uses proc_clause()
and crc_clause()
.
Each of the matched tokens will be attached (in order of occurrence) to the tree of the calling rule.
antlr.RecognitionException
antlr.TokenStreamException
public final void proc_clause() throws antlr.RecognitionException, antlr.TokenStreamException
PROCEDURE
keyword followed by a string literal.
Used by table_trigger()
and separated to get the tree structure
correct.
The sub-tree will have the KW_PROC
as the root and the
STRING
will be the child.
antlr.RecognitionException
antlr.TokenStreamException
public final void crc_clause() throws antlr.RecognitionException, antlr.TokenStreamException
CRC
keyword followed by a string literal.
Used by table_trigger()
and separated to get the tree structure
correct.
The sub-tree will have the KW_CRC
as the root and the
STRING
will be the child.
antlr.RecognitionException
antlr.TokenStreamException
protected void buildTokenTypeASTClassMap()
private static final long[] mk_tokenSet_0()
private static final long[] mk_tokenSet_1()
private static final long[] mk_tokenSet_2()
private static final long[] mk_tokenSet_3()
private static final long[] mk_tokenSet_4()
private static final long[] mk_tokenSet_5()
private static final long[] mk_tokenSet_6()
private static final long[] mk_tokenSet_7()
private static final long[] mk_tokenSet_8()
private static final long[] mk_tokenSet_9()
private static final long[] mk_tokenSet_10()
private static final long[] mk_tokenSet_11()
private static final long[] mk_tokenSet_12()
private static final long[] mk_tokenSet_13()
private static final long[] mk_tokenSet_14()
private static final long[] mk_tokenSet_15()
private static final long[] mk_tokenSet_16()
private static final long[] mk_tokenSet_17()
private static final long[] mk_tokenSet_18()