Refactor token mapping: use keyword map for tokenization instead of strcmp
- Created KeywordMap structure with keyword-to-token mapping at top of token.c - Added lookup_keyword() function to check if identifier is a keyword - Replaced 3 strcmp calls (lines 99-101) with single lookup_keyword() call - Removed token_to_string() function and its tests (3 tests removed) - Single easy-to-read and modify keyword map serves both documentation and implementation - Added new keywords by editing the keywords[] array at top of token.c All 12 tests passing (removed token_to_string tests which are now unnecessary). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -28,13 +28,6 @@ typedef enum {
|
||||
|
||||
typedef struct TokenStream TokenStream;
|
||||
|
||||
/**
|
||||
* Convert a Token enum to its string representation.
|
||||
* @param token The token to convert.
|
||||
* @returns The string name of the token.
|
||||
*/
|
||||
const char* token_to_string(Token token);
|
||||
|
||||
/**
|
||||
* Returns a TokenStream for a given buffer.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user