mirror of
https://github.com/cc65/cc65.git
synced 2024-12-27 00:29:31 +00:00
Merge pull request #158 from Movax12/definedmacro
Added .DEFINEDMACRO psuedo function
This commit is contained in:
commit
a79b17515e
@ -2316,21 +2316,25 @@ Here's a list of all control commands and a description, what they do:
|
||||
</verb></tscreen>
|
||||
|
||||
|
||||
<sect1><tt>.ISMNEM, .ISMNEMONIC</tt><label id=".ISMNEMONIC"><p>
|
||||
<sect1><tt>.DEFINEDMACRO</tt><label id=".DEFINEDMACRO"><p>
|
||||
|
||||
Builtin function. The function expects an identifier as argument in braces.
|
||||
The argument is evaluated, and the function yields "true" if the identifier
|
||||
is defined as an instruction mnemonic that is recognized by the assembler.
|
||||
Example:
|
||||
The argument is evaluated, and the function yields "true" if the identifier
|
||||
has already been defined as the name of a macro. Otherwise the function yields
|
||||
false. Example:
|
||||
|
||||
<tscreen><verb>
|
||||
.if .not .ismnemonic(ina)
|
||||
.macro ina
|
||||
clc
|
||||
adc #$01
|
||||
.endmacro
|
||||
.endif
|
||||
|
||||
.macro add foo
|
||||
clc
|
||||
adc foo
|
||||
.endmacro
|
||||
|
||||
.if .definedmacro(add)
|
||||
add #$01
|
||||
.else
|
||||
clc
|
||||
adc #$01
|
||||
.endif
|
||||
</verb></tscreen>
|
||||
|
||||
|
||||
@ -3158,6 +3162,23 @@ Here's a list of all control commands and a description, what they do:
|
||||
the feature in more detail.
|
||||
|
||||
|
||||
<sect1><tt>.ISMNEM, .ISMNEMONIC</tt><label id=".ISMNEMONIC"><p>
|
||||
|
||||
Builtin function. The function expects an identifier as argument in braces.
|
||||
The argument is evaluated, and the function yields "true" if the identifier
|
||||
is defined as an instruction mnemonic that is recognized by the assembler.
|
||||
Example:
|
||||
|
||||
<tscreen><verb>
|
||||
.if .not .ismnemonic(ina)
|
||||
.macro ina
|
||||
clc
|
||||
adc #$01
|
||||
.endmacro
|
||||
.endif
|
||||
</verb></tscreen>
|
||||
|
||||
|
||||
<sect1><tt>.LINECONT</tt><label id=".LINECONT"><p>
|
||||
|
||||
Switch on or off line continuations using the backslash character
|
||||
|
@ -418,30 +418,22 @@ static ExprNode* FuncDefined (void)
|
||||
|
||||
|
||||
|
||||
static ExprNode* FuncIsMnemonic (void)
|
||||
/* Handle the .ISMNEMONIC, .ISMNEM builtin function */
|
||||
static ExprNode* FuncDefinedMacro (void)
|
||||
/* Handle the .DEFINEDMACRO builtin function */
|
||||
{
|
||||
int Instr = -1;
|
||||
Macro* Mac = 0;
|
||||
|
||||
/* Check for a macro or an instruction depending on UbiquitousIdents */
|
||||
/* Check if the identifier is a macro */
|
||||
|
||||
if (CurTok.Tok == TOK_IDENT) {
|
||||
if (UbiquitousIdents) {
|
||||
/* Macros CAN be instructions, so check for them first */
|
||||
if (FindMacro (&CurTok.SVal) == 0) {
|
||||
Instr = FindInstruction (&CurTok.SVal);
|
||||
}
|
||||
} else {
|
||||
/* Macros and symbols may NOT use the names of instructions, so just check for the instruction */
|
||||
Instr = FindInstruction (&CurTok.SVal);
|
||||
}
|
||||
Mac = FindMacro (&CurTok.SVal);
|
||||
} else {
|
||||
Error ("Identifier expected.");
|
||||
}
|
||||
/* Skip the name */
|
||||
NextTok ();
|
||||
|
||||
return GenLiteralExpr (Instr > 0);
|
||||
return GenLiteralExpr (Mac != 0);
|
||||
}
|
||||
|
||||
|
||||
@ -462,6 +454,36 @@ static ExprNode* FuncHiWord (void)
|
||||
|
||||
|
||||
|
||||
static ExprNode* FuncIsMnemonic (void)
|
||||
/* Handle the .ISMNEMONIC, .ISMNEM builtin function */
|
||||
{
|
||||
int Instr = -1;
|
||||
|
||||
/* Check for a macro or an instruction depending on UbiquitousIdents */
|
||||
|
||||
if (CurTok.Tok == TOK_IDENT) {
|
||||
if (UbiquitousIdents) {
|
||||
/* Macros CAN be instructions, so check for them first */
|
||||
if (FindMacro (&CurTok.SVal) == 0) {
|
||||
Instr = FindInstruction (&CurTok.SVal);
|
||||
}
|
||||
}
|
||||
else {
|
||||
/* Macros and symbols may NOT use the names of instructions, so just check for the instruction */
|
||||
Instr = FindInstruction (&CurTok.SVal);
|
||||
}
|
||||
}
|
||||
else {
|
||||
Error ("Identifier expected.");
|
||||
}
|
||||
/* Skip the name */
|
||||
NextTok ();
|
||||
|
||||
return GenLiteralExpr (Instr > 0);
|
||||
}
|
||||
|
||||
|
||||
|
||||
ExprNode* FuncLoByte (void)
|
||||
/* Handle the .LOBYTE builtin function */
|
||||
{
|
||||
@ -1094,8 +1116,8 @@ static ExprNode* Factor (void)
|
||||
N = Function (FuncDefined);
|
||||
break;
|
||||
|
||||
case TOK_ISMNEMONIC:
|
||||
N = Function (FuncIsMnemonic);
|
||||
case TOK_DEFINEDMACRO:
|
||||
N = Function (FuncDefinedMacro);
|
||||
break;
|
||||
|
||||
case TOK_HIBYTE:
|
||||
@ -1106,6 +1128,10 @@ static ExprNode* Factor (void)
|
||||
N = Function (FuncHiWord);
|
||||
break;
|
||||
|
||||
case TOK_ISMNEMONIC:
|
||||
N = Function (FuncIsMnemonic);
|
||||
break;
|
||||
|
||||
case TOK_LOBYTE:
|
||||
N = Function (FuncLoByte);
|
||||
break;
|
||||
|
@ -83,3 +83,4 @@ unsigned char CComments = 0; /* Allow C like comments */
|
||||
unsigned char ForceRange = 0; /* Force values into expected range */
|
||||
unsigned char UnderlineInNumbers = 0; /* Allow underlines in numbers */
|
||||
unsigned char AddrSize = 0; /* Allow .ADDRSIZE function */
|
||||
|
||||
|
@ -1989,6 +1989,7 @@ static CtrlDesc CtrlCmdTab [] = {
|
||||
{ ccNone, DoDebugInfo },
|
||||
{ ccNone, DoDefine },
|
||||
{ ccNone, DoUnexpected }, /* .DEFINED */
|
||||
{ ccNone, DoUnexpected }, /* .DEFINEDMACRO */
|
||||
{ ccNone, DoDelMac },
|
||||
{ ccNone, DoDestructor },
|
||||
{ ccNone, DoDWord },
|
||||
|
@ -132,165 +132,166 @@ struct DotKeyword {
|
||||
const char* Key; /* MUST be first field */
|
||||
token_t Tok;
|
||||
} DotKeywords [] = {
|
||||
{ ".A16", TOK_A16 },
|
||||
{ ".A8", TOK_A8 },
|
||||
{ ".ADDR", TOK_ADDR },
|
||||
{ ".ADDRSIZE", TOK_ADDRSIZE },
|
||||
{ ".ALIGN", TOK_ALIGN },
|
||||
{ ".AND", TOK_BOOLAND },
|
||||
{ ".ASCIIZ", TOK_ASCIIZ },
|
||||
{ ".ASSERT", TOK_ASSERT },
|
||||
{ ".AUTOIMPORT", TOK_AUTOIMPORT },
|
||||
{ ".BANK", TOK_BANK },
|
||||
{ ".BANKBYTE", TOK_BANKBYTE },
|
||||
{ ".BANKBYTES", TOK_BANKBYTES },
|
||||
{ ".BITAND", TOK_AND },
|
||||
{ ".BITNOT", TOK_NOT },
|
||||
{ ".BITOR", TOK_OR },
|
||||
{ ".BITXOR", TOK_XOR },
|
||||
{ ".BLANK", TOK_BLANK },
|
||||
{ ".BSS", TOK_BSS },
|
||||
{ ".BYT", TOK_BYTE },
|
||||
{ ".BYTE", TOK_BYTE },
|
||||
{ ".CASE", TOK_CASE },
|
||||
{ ".CHARMAP", TOK_CHARMAP },
|
||||
{ ".CODE", TOK_CODE },
|
||||
{ ".CONCAT", TOK_CONCAT },
|
||||
{ ".CONDES", TOK_CONDES },
|
||||
{ ".CONST", TOK_CONST },
|
||||
{ ".CONSTRUCTOR", TOK_CONSTRUCTOR },
|
||||
{ ".CPU", TOK_CPU },
|
||||
{ ".DATA", TOK_DATA },
|
||||
{ ".DBG", TOK_DBG },
|
||||
{ ".DBYT", TOK_DBYT },
|
||||
{ ".DEBUGINFO", TOK_DEBUGINFO },
|
||||
{ ".DEF", TOK_DEFINED },
|
||||
{ ".DEFINE", TOK_DEFINE },
|
||||
{ ".DEFINED", TOK_DEFINED },
|
||||
{ ".DELMAC", TOK_DELMAC },
|
||||
{ ".DELMACRO", TOK_DELMAC },
|
||||
{ ".DESTRUCTOR", TOK_DESTRUCTOR },
|
||||
{ ".DWORD", TOK_DWORD },
|
||||
{ ".ELSE", TOK_ELSE },
|
||||
{ ".ELSEIF", TOK_ELSEIF },
|
||||
{ ".END", TOK_END },
|
||||
{ ".ENDENUM", TOK_ENDENUM },
|
||||
{ ".ENDIF", TOK_ENDIF },
|
||||
{ ".ENDMAC", TOK_ENDMACRO },
|
||||
{ ".ENDMACRO", TOK_ENDMACRO },
|
||||
{ ".ENDPROC", TOK_ENDPROC },
|
||||
{ ".ENDREP", TOK_ENDREP },
|
||||
{ ".ENDREPEAT", TOK_ENDREP },
|
||||
{ ".ENDSCOPE", TOK_ENDSCOPE },
|
||||
{ ".ENDSTRUCT", TOK_ENDSTRUCT },
|
||||
{ ".ENDUNION", TOK_ENDUNION },
|
||||
{ ".ENUM", TOK_ENUM },
|
||||
{ ".ERROR", TOK_ERROR },
|
||||
{ ".EXITMAC", TOK_EXITMACRO },
|
||||
{ ".EXITMACRO", TOK_EXITMACRO },
|
||||
{ ".EXPORT", TOK_EXPORT },
|
||||
{ ".EXPORTZP", TOK_EXPORTZP },
|
||||
{ ".FARADDR", TOK_FARADDR },
|
||||
{ ".FATAL", TOK_FATAL },
|
||||
{ ".FEATURE", TOK_FEATURE },
|
||||
{ ".FILEOPT", TOK_FILEOPT },
|
||||
{ ".FOPT", TOK_FILEOPT },
|
||||
{ ".FORCEIMPORT", TOK_FORCEIMPORT },
|
||||
{ ".FORCEWORD", TOK_FORCEWORD },
|
||||
{ ".GLOBAL", TOK_GLOBAL },
|
||||
{ ".GLOBALZP", TOK_GLOBALZP },
|
||||
{ ".HIBYTE", TOK_HIBYTE },
|
||||
{ ".HIBYTES", TOK_HIBYTES },
|
||||
{ ".HIWORD", TOK_HIWORD },
|
||||
{ ".I16", TOK_I16 },
|
||||
{ ".I8", TOK_I8 },
|
||||
{ ".IDENT", TOK_MAKEIDENT },
|
||||
{ ".IF", TOK_IF },
|
||||
{ ".IFBLANK", TOK_IFBLANK },
|
||||
{ ".IFCONST", TOK_IFCONST },
|
||||
{ ".IFDEF", TOK_IFDEF },
|
||||
{ ".IFNBLANK", TOK_IFNBLANK },
|
||||
{ ".IFNCONST", TOK_IFNCONST },
|
||||
{ ".IFNDEF", TOK_IFNDEF },
|
||||
{ ".IFNREF", TOK_IFNREF },
|
||||
{ ".IFP02", TOK_IFP02 },
|
||||
{ ".IFP816", TOK_IFP816 },
|
||||
{ ".IFPC02", TOK_IFPC02 },
|
||||
{ ".IFPSC02", TOK_IFPSC02 },
|
||||
{ ".IFREF", TOK_IFREF },
|
||||
{ ".IMPORT", TOK_IMPORT },
|
||||
{ ".IMPORTZP", TOK_IMPORTZP },
|
||||
{ ".INCBIN", TOK_INCBIN },
|
||||
{ ".INCLUDE", TOK_INCLUDE },
|
||||
{ ".INTERRUPTOR", TOK_INTERRUPTOR },
|
||||
{ ".ISMNEM", TOK_ISMNEMONIC },
|
||||
{ ".ISMNEMONIC", TOK_ISMNEMONIC },
|
||||
{ ".LEFT", TOK_LEFT },
|
||||
{ ".LINECONT", TOK_LINECONT },
|
||||
{ ".LIST", TOK_LIST },
|
||||
{ ".LISTBYTES", TOK_LISTBYTES },
|
||||
{ ".LOBYTE", TOK_LOBYTE },
|
||||
{ ".LOBYTES", TOK_LOBYTES },
|
||||
{ ".LOCAL", TOK_LOCAL },
|
||||
{ ".LOCALCHAR", TOK_LOCALCHAR },
|
||||
{ ".LOWORD", TOK_LOWORD },
|
||||
{ ".MAC", TOK_MACRO },
|
||||
{ ".MACPACK", TOK_MACPACK },
|
||||
{ ".MACRO", TOK_MACRO },
|
||||
{ ".MATCH", TOK_MATCH },
|
||||
{ ".MAX", TOK_MAX },
|
||||
{ ".MID", TOK_MID },
|
||||
{ ".MIN", TOK_MIN },
|
||||
{ ".MOD", TOK_MOD },
|
||||
{ ".NOT", TOK_BOOLNOT },
|
||||
{ ".NULL", TOK_NULL },
|
||||
{ ".OR", TOK_BOOLOR },
|
||||
{ ".ORG", TOK_ORG },
|
||||
{ ".OUT", TOK_OUT },
|
||||
{ ".P02", TOK_P02 },
|
||||
{ ".P816", TOK_P816 },
|
||||
{ ".PAGELEN", TOK_PAGELENGTH },
|
||||
{ ".PAGELENGTH", TOK_PAGELENGTH },
|
||||
{ ".PARAMCOUNT", TOK_PARAMCOUNT },
|
||||
{ ".PC02", TOK_PC02 },
|
||||
{ ".POPCPU", TOK_POPCPU },
|
||||
{ ".POPSEG", TOK_POPSEG },
|
||||
{ ".PROC", TOK_PROC },
|
||||
{ ".PSC02", TOK_PSC02 },
|
||||
{ ".PUSHCPU", TOK_PUSHCPU },
|
||||
{ ".PUSHSEG", TOK_PUSHSEG },
|
||||
{ ".REF", TOK_REFERENCED },
|
||||
{ ".REFERENCED", TOK_REFERENCED },
|
||||
{ ".RELOC", TOK_RELOC },
|
||||
{ ".REPEAT", TOK_REPEAT },
|
||||
{ ".RES", TOK_RES },
|
||||
{ ".RIGHT", TOK_RIGHT },
|
||||
{ ".RODATA", TOK_RODATA },
|
||||
{ ".SCOPE", TOK_SCOPE },
|
||||
{ ".SEGMENT", TOK_SEGMENT },
|
||||
{ ".SET", TOK_SET },
|
||||
{ ".SETCPU", TOK_SETCPU },
|
||||
{ ".SHL", TOK_SHL },
|
||||
{ ".SHR", TOK_SHR },
|
||||
{ ".SIZEOF", TOK_SIZEOF },
|
||||
{ ".SMART", TOK_SMART },
|
||||
{ ".SPRINTF", TOK_SPRINTF },
|
||||
{ ".STRAT", TOK_STRAT },
|
||||
{ ".STRING", TOK_STRING },
|
||||
{ ".STRLEN", TOK_STRLEN },
|
||||
{ ".STRUCT", TOK_STRUCT },
|
||||
{ ".TAG", TOK_TAG },
|
||||
{ ".TCOUNT", TOK_TCOUNT },
|
||||
{ ".TIME", TOK_TIME },
|
||||
{ ".UNDEF", TOK_UNDEF },
|
||||
{ ".UNDEFINE", TOK_UNDEF },
|
||||
{ ".UNION", TOK_UNION },
|
||||
{ ".VERSION", TOK_VERSION },
|
||||
{ ".WARNING", TOK_WARNING },
|
||||
{ ".WORD", TOK_WORD },
|
||||
{ ".XMATCH", TOK_XMATCH },
|
||||
{ ".XOR", TOK_BOOLXOR },
|
||||
{ ".ZEROPAGE", TOK_ZEROPAGE },
|
||||
{ ".A16", TOK_A16 },
|
||||
{ ".A8", TOK_A8 },
|
||||
{ ".ADDR", TOK_ADDR },
|
||||
{ ".ADDRSIZE", TOK_ADDRSIZE },
|
||||
{ ".ALIGN", TOK_ALIGN },
|
||||
{ ".AND", TOK_BOOLAND },
|
||||
{ ".ASCIIZ", TOK_ASCIIZ },
|
||||
{ ".ASSERT", TOK_ASSERT },
|
||||
{ ".AUTOIMPORT", TOK_AUTOIMPORT },
|
||||
{ ".BANK", TOK_BANK },
|
||||
{ ".BANKBYTE", TOK_BANKBYTE },
|
||||
{ ".BANKBYTES", TOK_BANKBYTES },
|
||||
{ ".BITAND", TOK_AND },
|
||||
{ ".BITNOT", TOK_NOT },
|
||||
{ ".BITOR", TOK_OR },
|
||||
{ ".BITXOR", TOK_XOR },
|
||||
{ ".BLANK", TOK_BLANK },
|
||||
{ ".BSS", TOK_BSS },
|
||||
{ ".BYT", TOK_BYTE },
|
||||
{ ".BYTE", TOK_BYTE },
|
||||
{ ".CASE", TOK_CASE },
|
||||
{ ".CHARMAP", TOK_CHARMAP },
|
||||
{ ".CODE", TOK_CODE },
|
||||
{ ".CONCAT", TOK_CONCAT },
|
||||
{ ".CONDES", TOK_CONDES },
|
||||
{ ".CONST", TOK_CONST },
|
||||
{ ".CONSTRUCTOR", TOK_CONSTRUCTOR },
|
||||
{ ".CPU", TOK_CPU },
|
||||
{ ".DATA", TOK_DATA },
|
||||
{ ".DBG", TOK_DBG },
|
||||
{ ".DBYT", TOK_DBYT },
|
||||
{ ".DEBUGINFO", TOK_DEBUGINFO },
|
||||
{ ".DEF", TOK_DEFINED },
|
||||
{ ".DEFINE", TOK_DEFINE },
|
||||
{ ".DEFINED", TOK_DEFINED },
|
||||
{ ".DEFINEDMACRO", TOK_DEFINEDMACRO },
|
||||
{ ".DELMAC", TOK_DELMAC },
|
||||
{ ".DELMACRO", TOK_DELMAC },
|
||||
{ ".DESTRUCTOR", TOK_DESTRUCTOR },
|
||||
{ ".DWORD", TOK_DWORD },
|
||||
{ ".ELSE", TOK_ELSE },
|
||||
{ ".ELSEIF", TOK_ELSEIF },
|
||||
{ ".END", TOK_END },
|
||||
{ ".ENDENUM", TOK_ENDENUM },
|
||||
{ ".ENDIF", TOK_ENDIF },
|
||||
{ ".ENDMAC", TOK_ENDMACRO },
|
||||
{ ".ENDMACRO", TOK_ENDMACRO },
|
||||
{ ".ENDPROC", TOK_ENDPROC },
|
||||
{ ".ENDREP", TOK_ENDREP },
|
||||
{ ".ENDREPEAT", TOK_ENDREP },
|
||||
{ ".ENDSCOPE", TOK_ENDSCOPE },
|
||||
{ ".ENDSTRUCT", TOK_ENDSTRUCT },
|
||||
{ ".ENDUNION", TOK_ENDUNION },
|
||||
{ ".ENUM", TOK_ENUM },
|
||||
{ ".ERROR", TOK_ERROR },
|
||||
{ ".EXITMAC", TOK_EXITMACRO },
|
||||
{ ".EXITMACRO", TOK_EXITMACRO },
|
||||
{ ".EXPORT", TOK_EXPORT },
|
||||
{ ".EXPORTZP", TOK_EXPORTZP },
|
||||
{ ".FARADDR", TOK_FARADDR },
|
||||
{ ".FATAL", TOK_FATAL },
|
||||
{ ".FEATURE", TOK_FEATURE },
|
||||
{ ".FILEOPT", TOK_FILEOPT },
|
||||
{ ".FOPT", TOK_FILEOPT },
|
||||
{ ".FORCEIMPORT", TOK_FORCEIMPORT },
|
||||
{ ".FORCEWORD", TOK_FORCEWORD },
|
||||
{ ".GLOBAL", TOK_GLOBAL },
|
||||
{ ".GLOBALZP", TOK_GLOBALZP },
|
||||
{ ".HIBYTE", TOK_HIBYTE },
|
||||
{ ".HIBYTES", TOK_HIBYTES },
|
||||
{ ".HIWORD", TOK_HIWORD },
|
||||
{ ".I16", TOK_I16 },
|
||||
{ ".I8", TOK_I8 },
|
||||
{ ".IDENT", TOK_MAKEIDENT },
|
||||
{ ".IF", TOK_IF },
|
||||
{ ".IFBLANK", TOK_IFBLANK },
|
||||
{ ".IFCONST", TOK_IFCONST },
|
||||
{ ".IFDEF", TOK_IFDEF },
|
||||
{ ".IFNBLANK", TOK_IFNBLANK },
|
||||
{ ".IFNCONST", TOK_IFNCONST },
|
||||
{ ".IFNDEF", TOK_IFNDEF },
|
||||
{ ".IFNREF", TOK_IFNREF },
|
||||
{ ".IFP02", TOK_IFP02 },
|
||||
{ ".IFP816", TOK_IFP816 },
|
||||
{ ".IFPC02", TOK_IFPC02 },
|
||||
{ ".IFPSC02", TOK_IFPSC02 },
|
||||
{ ".IFREF", TOK_IFREF },
|
||||
{ ".IMPORT", TOK_IMPORT },
|
||||
{ ".IMPORTZP", TOK_IMPORTZP },
|
||||
{ ".INCBIN", TOK_INCBIN },
|
||||
{ ".INCLUDE", TOK_INCLUDE },
|
||||
{ ".INTERRUPTOR", TOK_INTERRUPTOR },
|
||||
{ ".ISMNEM", TOK_ISMNEMONIC },
|
||||
{ ".ISMNEMONIC", TOK_ISMNEMONIC },
|
||||
{ ".LEFT", TOK_LEFT },
|
||||
{ ".LINECONT", TOK_LINECONT },
|
||||
{ ".LIST", TOK_LIST },
|
||||
{ ".LISTBYTES", TOK_LISTBYTES },
|
||||
{ ".LOBYTE", TOK_LOBYTE },
|
||||
{ ".LOBYTES", TOK_LOBYTES },
|
||||
{ ".LOCAL", TOK_LOCAL },
|
||||
{ ".LOCALCHAR", TOK_LOCALCHAR },
|
||||
{ ".LOWORD", TOK_LOWORD },
|
||||
{ ".MAC", TOK_MACRO },
|
||||
{ ".MACPACK", TOK_MACPACK },
|
||||
{ ".MACRO", TOK_MACRO },
|
||||
{ ".MATCH", TOK_MATCH },
|
||||
{ ".MAX", TOK_MAX },
|
||||
{ ".MID", TOK_MID },
|
||||
{ ".MIN", TOK_MIN },
|
||||
{ ".MOD", TOK_MOD },
|
||||
{ ".NOT", TOK_BOOLNOT },
|
||||
{ ".NULL", TOK_NULL },
|
||||
{ ".OR", TOK_BOOLOR },
|
||||
{ ".ORG", TOK_ORG },
|
||||
{ ".OUT", TOK_OUT },
|
||||
{ ".P02", TOK_P02 },
|
||||
{ ".P816", TOK_P816 },
|
||||
{ ".PAGELEN", TOK_PAGELENGTH },
|
||||
{ ".PAGELENGTH", TOK_PAGELENGTH },
|
||||
{ ".PARAMCOUNT", TOK_PARAMCOUNT },
|
||||
{ ".PC02", TOK_PC02 },
|
||||
{ ".POPCPU", TOK_POPCPU },
|
||||
{ ".POPSEG", TOK_POPSEG },
|
||||
{ ".PROC", TOK_PROC },
|
||||
{ ".PSC02", TOK_PSC02 },
|
||||
{ ".PUSHCPU", TOK_PUSHCPU },
|
||||
{ ".PUSHSEG", TOK_PUSHSEG },
|
||||
{ ".REF", TOK_REFERENCED },
|
||||
{ ".REFERENCED", TOK_REFERENCED },
|
||||
{ ".RELOC", TOK_RELOC },
|
||||
{ ".REPEAT", TOK_REPEAT },
|
||||
{ ".RES", TOK_RES },
|
||||
{ ".RIGHT", TOK_RIGHT },
|
||||
{ ".RODATA", TOK_RODATA },
|
||||
{ ".SCOPE", TOK_SCOPE },
|
||||
{ ".SEGMENT", TOK_SEGMENT },
|
||||
{ ".SET", TOK_SET },
|
||||
{ ".SETCPU", TOK_SETCPU },
|
||||
{ ".SHL", TOK_SHL },
|
||||
{ ".SHR", TOK_SHR },
|
||||
{ ".SIZEOF", TOK_SIZEOF },
|
||||
{ ".SMART", TOK_SMART },
|
||||
{ ".SPRINTF", TOK_SPRINTF },
|
||||
{ ".STRAT", TOK_STRAT },
|
||||
{ ".STRING", TOK_STRING },
|
||||
{ ".STRLEN", TOK_STRLEN },
|
||||
{ ".STRUCT", TOK_STRUCT },
|
||||
{ ".TAG", TOK_TAG },
|
||||
{ ".TCOUNT", TOK_TCOUNT },
|
||||
{ ".TIME", TOK_TIME },
|
||||
{ ".UNDEF", TOK_UNDEF },
|
||||
{ ".UNDEFINE", TOK_UNDEF },
|
||||
{ ".UNION", TOK_UNION },
|
||||
{ ".VERSION", TOK_VERSION },
|
||||
{ ".WARNING", TOK_WARNING },
|
||||
{ ".WORD", TOK_WORD },
|
||||
{ ".XMATCH", TOK_XMATCH },
|
||||
{ ".XOR", TOK_BOOLXOR },
|
||||
{ ".ZEROPAGE", TOK_ZEROPAGE },
|
||||
};
|
||||
|
||||
|
||||
|
@ -148,6 +148,7 @@ typedef enum token_t {
|
||||
TOK_DEBUGINFO,
|
||||
TOK_DEFINE,
|
||||
TOK_DEFINED,
|
||||
TOK_DEFINEDMACRO,
|
||||
TOK_DELMAC,
|
||||
TOK_DESTRUCTOR,
|
||||
TOK_DWORD,
|
||||
|
Loading…
Reference in New Issue
Block a user