Move all attributes and other information that is attached to a token into a

structure named Token.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4910 b7a2c559-68d2-44c3-8de9-860c34a00d81
This commit is contained in:
uz
2011-01-16 16:05:43 +00:00
parent dbfae85f54
commit ddb7296b6c
23 changed files with 526 additions and 496 deletions

View File

@@ -6,10 +6,10 @@
/* */
/* */
/* */
/* (C) 1998-2004 Ullrich von Bassewitz */
/* R<EFBFBD>merstrasse 52 */
/* D-70794 Filderstadt */
/* EMail: uz@cc65.org */
/* (C) 1998-2011, Ullrich von Bassewitz */
/* Roemerstrasse 52 */
/* D-70794 Filderstadt */
/* EMail: uz@cc65.org */
/* */
/* */
/* This software is provided 'as-is', without any expressed or implied */
@@ -59,7 +59,7 @@ void GetEA (EffAddr* A)
A->Expr = 0;
/* Handle an addressing size override */
switch (Tok) {
switch (CurTok.Tok) {
case TOK_OVERRIDE_ZP:
Restrictions = AM65_DIR | AM65_DIR_X | AM65_DIR_Y;
NextTok ();
@@ -81,29 +81,29 @@ void GetEA (EffAddr* A)
}
/* Parse the effective address */
if (TokIsSep (Tok)) {
if (TokIsSep (CurTok.Tok)) {
A->AddrModeSet = AM65_IMPLICIT;
} else if (Tok == TOK_HASH) {
} else if (CurTok.Tok == TOK_HASH) {
/* #val */
NextTok ();
A->Expr = Expression ();
A->AddrModeSet = AM65_IMM;
} else if (Tok == TOK_A) {
} else if (CurTok.Tok == TOK_A) {
NextTok ();
A->AddrModeSet = AM65_ACCU;
} else if (Tok == TOK_LBRACK) {
} else if (CurTok.Tok == TOK_LBRACK) {
/* [dir] or [dir],y */
NextTok ();
A->Expr = Expression ();
Consume (TOK_RBRACK, "']' expected");
if (Tok == TOK_COMMA) {
if (CurTok.Tok == TOK_COMMA) {
/* [dir],y */
NextTok ();
Consume (TOK_Y, "`Y' expected");
@@ -113,22 +113,22 @@ void GetEA (EffAddr* A)
A->AddrModeSet = AM65_DIR_IND_LONG;
}
} else if (Tok == TOK_LPAREN) {
} else if (CurTok.Tok == TOK_LPAREN) {
/* One of the indirect modes */
NextTok ();
A->Expr = Expression ();
if (Tok == TOK_COMMA) {
if (CurTok.Tok == TOK_COMMA) {
/* (expr,X) or (rel,S),y */
NextTok ();
if (Tok == TOK_X) {
if (CurTok.Tok == TOK_X) {
/* (adr,x) */
NextTok ();
A->AddrModeSet = AM65_ABS_X_IND | AM65_DIR_X_IND;
ConsumeRParen ();
} else if (Tok == TOK_S) {
} else if (CurTok.Tok == TOK_S) {
/* (rel,s),y */
NextTok ();
A->AddrModeSet = AM65_STACK_REL_IND_Y;
@@ -143,7 +143,7 @@ void GetEA (EffAddr* A)
/* (adr) or (adr),y */
ConsumeRParen ();
if (Tok == TOK_COMMA) {
if (CurTok.Tok == TOK_COMMA) {
/* (adr),y */
NextTok ();
Consume (TOK_Y, "`Y' expected");
@@ -165,10 +165,10 @@ void GetEA (EffAddr* A)
*/
A->Expr = Expression ();
if (Tok == TOK_COMMA) {
if (CurTok.Tok == TOK_COMMA) {
NextTok ();
switch (Tok) {
switch (CurTok.Tok) {
case TOK_X:
A->AddrModeSet = AM65_ABS_LONG_X | AM65_ABS_X | AM65_DIR_X;
@@ -203,3 +203,4 @@ void GetEA (EffAddr* A)