parser working, needs more tests and an actual language to make sure that is true though

This commit is contained in:
herbglitch 2024-11-20 10:27:17 -07:00
parent 63dfb98aad
commit 606f8e4bad
10 changed files with 365 additions and 148 deletions

View file

@ -12,28 +12,28 @@ ARC_TEST(Lexer_Char_Match){
ARC_Lexer_LexString(lexer, &simple);
ARC_LexerToken token;
ARC_LexerToken *token;
token = ARC_Lexer_GetToken(lexer, 0);
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_COLON_ID);
ARC_CHECK(token->rule == ARC_LEXER_TOKEN_COLON_ID);
token = ARC_Lexer_GetToken(lexer, 1);
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_COLON_ID);
ARC_CHECK(token->rule == ARC_LEXER_TOKEN_COLON_ID);
token = ARC_Lexer_GetToken(lexer, 2);
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_LEFT_CURLY_BRACE_ID);
ARC_CHECK(token->rule == ARC_LEXER_TOKEN_LEFT_CURLY_BRACE_ID);
token = ARC_Lexer_GetToken(lexer, 3);
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_RIGHT_CURLY_BRACE_ID);
ARC_CHECK(token->rule == ARC_LEXER_TOKEN_RIGHT_CURLY_BRACE_ID);
token = ARC_Lexer_GetToken(lexer, 4);
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_BANG_ID);
ARC_CHECK(token->rule == ARC_LEXER_TOKEN_BANG_ID);
token = ARC_Lexer_GetToken(lexer, 5);
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_FORWARD_SLASH_ID);
ARC_CHECK(token->rule == ARC_LEXER_TOKEN_FORWARD_SLASH_ID);
token = ARC_Lexer_GetToken(lexer, 6);
ARC_CHECK(token.rule == ARC_LEXER_TOKEN_PERIOD_ID);
ARC_CHECK(token->rule == ARC_LEXER_TOKEN_PERIOD_ID);
ARC_Lexer_Destroy(lexer);
}