Updated the structure of symbols and tokens to hopefully help make computing symbol values easier.
This commit is contained in:
+9
-9
@@ -21,8 +21,8 @@ Token* ParseNumber(void);
|
||||
Token* ParsePunctuation(char);
|
||||
void IgnoreLine(void);
|
||||
|
||||
List* GenerateTokenList(const char* source) {
|
||||
List* tokens = CreateList();
|
||||
TokenList* GenerateTokenList(const char* source) {
|
||||
TokenList* tokens = CreateTokenList();
|
||||
Token* token = NULL;
|
||||
|
||||
if (!tokens) return NULL;
|
||||
@@ -54,7 +54,7 @@ List* GenerateTokenList(const char* source) {
|
||||
|
||||
token = CreateToken(Line, PunctuationClass);
|
||||
token->Value.Punctuation = NewLine;
|
||||
AddListItem(token, tokens);
|
||||
AddToken(token, tokens);
|
||||
AdvanceScanner();
|
||||
Line++;
|
||||
break;
|
||||
@@ -69,28 +69,28 @@ List* GenerateTokenList(const char* source) {
|
||||
break;
|
||||
case '.': //directive like ".include" or ".db"
|
||||
token = ParseDirective();
|
||||
if (token) AddListItem(token, tokens);
|
||||
if (token) AddToken(token, tokens);
|
||||
break;
|
||||
case '"':
|
||||
token = ParseString();
|
||||
if (token) AddListItem(token, tokens);
|
||||
if (token) AddToken(token, tokens);
|
||||
break;
|
||||
default:
|
||||
if (isdigit(c)) {
|
||||
AddListItem(ParseNumber(), tokens);
|
||||
AddToken(ParseNumber(), tokens);
|
||||
|
||||
break;
|
||||
}
|
||||
|
||||
if (IsPunctuation(c)) {
|
||||
AdvanceScanner();
|
||||
AddListItem(ParsePunctuation(c), tokens);
|
||||
AddToken(ParsePunctuation(c), tokens);
|
||||
break;
|
||||
}
|
||||
|
||||
token = ParseIdentifier();
|
||||
|
||||
if (token) AddListItem(token, tokens);
|
||||
if (token) AddToken(token, tokens);
|
||||
|
||||
break;
|
||||
}
|
||||
@@ -111,7 +111,7 @@ List* GenerateTokenList(const char* source) {
|
||||
|
||||
token->EndOfFile = 1;
|
||||
|
||||
AddListItem(token, tokens);
|
||||
AddToken(token, tokens);
|
||||
|
||||
return tokens;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user