testing working, and fixed memory leak in replace with substring function

This commit is contained in:
herbglitch 2024-08-31 06:09:33 -06:00
parent 4c0c5d377d
commit 5de968688c
7 changed files with 131 additions and 75 deletions

View file

@ -176,48 +176,48 @@ ARC_LexerTokenRule ARC_LexerTokenRule_CreateAndReturnMatchStringRule(uint32_t id
/**
* @brief basic token type ids, chars, and tags
*/
#define LEXER_TOKEN_COLON_ID 1
#define LEXER_TOKEN_COLON_CHAR ':'
#define LEXER_TOKEN_COLON_TAG "COLON"
#define LEXER_TOKEN_SEMICOLON_ID 2
#define LEXER_TOKEN_SEMICOLON_CHAR ';'
#define LEXER_TOKEN_SEMICOLON_TAG "SEMICOLON"
#define LEXER_TOKEN_COMMA_ID 3
#define LEXER_TOKEN_COMMA_CHAR ','
#define LEXER_TOKEN_COMMA_TAG "COMMA"
#define LEXER_TOKEN_PERIOD_ID 4
#define LEXER_TOKEN_PERIOD_CHAR '.'
#define LEXER_TOKEN_PERIOD_TAG "PERIOD"
#define LEXER_TOKEN_FORWARD_SLASH_ID 5
#define LEXER_TOKEN_FORWARD_SLASH_CHAR '/'
#define LEXER_TOKEN_FORWARD_SLASH_TAG "FORWARD_SLASH"
#define LEXER_TOKEN_BACK_SLASH_ID 6
#define LEXER_TOKEN_BACK_SLASH_CHAR '\\'
#define LEXER_TOKEN_BACK_SLASH_TAG "BACK_SLASH"
#define LEXER_TOKEN_LEFT_PARENTHESIS_ID 7
#define LEXER_TOKEN_LEFT_PARENTHESIS_CHAR '('
#define LEXER_TOKEN_LEFT_PARENTHESIS_TAG "LEFT_PARENTHESIS"
#define LEXER_TOKEN_RIGHT_PARENTHESIS_ID 8
#define LEXER_TOKEN_RIGHT_PARENTHESIS_CHAR ')'
#define LEXER_TOKEN_RIGHT_PARENTHESIS_TAG "RIGHT_PARENTHESIS"
#define LEXER_TOKEN_LEFT_CURLY_BRACE_ID 9
#define LEXER_TOKEN_LEFT_CURLY_BRACE_CHAR '{'
#define LEXER_TOKEN_LEFT_CURLY_BRACE_TAG "LEFT_CURLY_BRACE"
#define LEXER_TOKEN_RIGHT_CURLY_BRACE_ID 10
#define LEXER_TOKEN_RIGHT_CURLY_BRACE_CHAR '}'
#define LEXER_TOKEN_RIGHT_CURLY_BRACE_TAG "RIGHT_CURLY_BRACE"
#define LEXER_TOKEN_BANG_ID 11
#define LEXER_TOKEN_BANG_CHAR '!'
#define LEXER_TOKEN_BANG_TAG "BANG"
#define LEXER_TOKEN_AT_ID 12
#define LEXER_TOKEN_AT_CHAR '!'
#define LEXER_TOKEN_AT_TAG "AT"
#define LEXER_TOKEN_HASH_ID 13
#define LEXER_TOKEN_HASH_CHAR '#'
#define LEXER_TOKEN_HASH_TAG "HASH"
#define LEXER_TOKEN_PERCENT_ID 14
#define LEXER_TOKEN_PERCENT_CHAR '%'
#define LEXER_TOKEN_PERCENT_TAG "PERCENT"
#define ARC_LEXER_TOKEN_COLON_ID 1
#define ARC_LEXER_TOKEN_COLON_CHAR ':'
#define ARC_LEXER_TOKEN_COLON_TAG "COLON"
#define ARC_LEXER_TOKEN_SEMICOLON_ID 2
#define ARC_LEXER_TOKEN_SEMICOLON_CHAR ';'
#define ARC_LEXER_TOKEN_SEMICOLON_TAG "SEMICOLON"
#define ARC_LEXER_TOKEN_COMMA_ID 3
#define ARC_LEXER_TOKEN_COMMA_CHAR ','
#define ARC_LEXER_TOKEN_COMMA_TAG "COMMA"
#define ARC_LEXER_TOKEN_PERIOD_ID 4
#define ARC_LEXER_TOKEN_PERIOD_CHAR '.'
#define ARC_LEXER_TOKEN_PERIOD_TAG "PERIOD"
#define ARC_LEXER_TOKEN_FORWARD_SLASH_ID 5
#define ARC_LEXER_TOKEN_FORWARD_SLASH_CHAR '/'
#define ARC_LEXER_TOKEN_FORWARD_SLASH_TAG "FORWARD_SLASH"
#define ARC_LEXER_TOKEN_BACK_SLASH_ID 6
#define ARC_LEXER_TOKEN_BACK_SLASH_CHAR '\\'
#define ARC_LEXER_TOKEN_BACK_SLASH_TAG "BACK_SLASH"
#define ARC_LEXER_TOKEN_LEFT_PARENTHESIS_ID 7
#define ARC_LEXER_TOKEN_LEFT_PARENTHESIS_CHAR '('
#define ARC_LEXER_TOKEN_LEFT_PARENTHESIS_TAG "LEFT_PARENTHESIS"
#define ARC_LEXER_TOKEN_RIGHT_PARENTHESIS_ID 8
#define ARC_LEXER_TOKEN_RIGHT_PARENTHESIS_CHAR ')'
#define ARC_LEXER_TOKEN_RIGHT_PARENTHESIS_TAG "RIGHT_PARENTHESIS"
#define ARC_LEXER_TOKEN_LEFT_CURLY_BRACE_ID 9
#define ARC_LEXER_TOKEN_LEFT_CURLY_BRACE_CHAR '{'
#define ARC_LEXER_TOKEN_LEFT_CURLY_BRACE_TAG "LEFT_CURLY_BRACE"
#define ARC_LEXER_TOKEN_RIGHT_CURLY_BRACE_ID 10
#define ARC_LEXER_TOKEN_RIGHT_CURLY_BRACE_CHAR '}'
#define ARC_LEXER_TOKEN_RIGHT_CURLY_BRACE_TAG "RIGHT_CURLY_BRACE"
#define ARC_LEXER_TOKEN_BANG_ID 11
#define ARC_LEXER_TOKEN_BANG_CHAR '!'
#define ARC_LEXER_TOKEN_BANG_TAG "BANG"
#define ARC_LEXER_TOKEN_AT_ID 12
#define ARC_LEXER_TOKEN_AT_CHAR '!'
#define ARC_LEXER_TOKEN_AT_TAG "AT"
#define ARC_LEXER_TOKEN_HASH_ID 13
#define ARC_LEXER_TOKEN_HASH_CHAR '#'
#define ARC_LEXER_TOKEN_HASH_TAG "HASH"
#define ARC_LEXER_TOKEN_PERCENT_ID 14
#define ARC_LEXER_TOKEN_PERCENT_CHAR '%'
#define ARC_LEXER_TOKEN_PERCENT_TAG "PERCENT"
/**
* @brief adds a bunch of basic token rules (matching the BasicTokens above)