From 9c67da034853d878db6be4ae0ad9a9cce199b22e Mon Sep 17 00:00:00 2001 From: Scarlett Date: Tue, 11 Feb 2025 15:32:31 -0500 Subject: [PATCH] Added other punctuation --- Makefile | 3 +++ lexicalStructure | Bin 27128 -> 0 bytes lexicalStructure.lex | 10 +++++++--- test1.txt | 24 ------------------------ tests/test_keywards.alpha | 1 + tests/test_otherpunc.txt | 6 ++++++ 6 files changed, 17 insertions(+), 27 deletions(-) delete mode 100755 lexicalStructure delete mode 100644 test1.txt create mode 100644 tests/test_otherpunc.txt diff --git a/Makefile b/Makefile index ec333dc..57c29a6 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,9 @@ test3: test4: ./$(EXE) ./tests/test_variables.txt +test5: + ./$(EXE) ./tests/test_otherpunc.txt + clean: rm -f *.o rm -f lex.yy.c diff --git a/lexicalStructure b/lexicalStructure deleted file mode 100755 index 8817fe4a700f2d81959706bfad8672a168461b04..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 27128 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 diff --git a/lexicalStructure.lex b/lexicalStructure.lex index 2a0245c..64ce9b2 100644 --- a/lexicalStructure.lex +++ b/lexicalStructure.lex @@ -10,8 +10,6 @@ DIGIT [0-9] CHAR \\n|\\t|\\'|[^'\n\t\\] SCHAR \\n|\\t|\\\"|[^\"\n\\] COM ([^*]|\*+[^)*])* - -/* INCOMPLETE */ ID [A-Za-z_][0-9A-Za-z_]* %% @@ -34,7 +32,10 @@ ID [A-Za-z_][0-9A-Za-z_]* "external" {printf("EXTERNAL %s, Token: %d\n", yytext, EXTERNAL);} // {return EXTERNAL} "as" {printf("AS %s, Token: %d\n", yytext, AS);} // {return AS} -{ID} {printf("ID: %s, Token: %d\n", yytext, ID );} // INCOMPLETE +";" {printf("SEMI_COLON %s, Token: %d\n", yytext, SEMI_COLON);} +":" {printf("COLON %s, Token: %d\n", yytext, COLON);} +"," {printf("COMMA %s, Token: %d\n", yytext, COMMA);} +"->" {printf("ARROW %s, Token: %d\n", yytext, ARROW);} {DIGIT}+ {printf("C_INTEGER: %s, Token: %d\n", yytext, atoi( yytext ) );} "null" {printf("C_NULL: %s, Token: %d\n", yytext, atoi( yytext ) );} @@ -42,6 +43,9 @@ ID [A-Za-z_][0-9A-Za-z_]* "true" {printf("C_TRUE: %s, Token: %d\n", yytext, atoi( yytext ) );} "false" {printf("C_FALSE: %s, Token: %d\n", yytext, atoi( yytext ) );} \"{SCHAR}*\" {printf("C_STRING: %s, Token: %d\n", yytext, atoi( yytext ) );} + +{ID} {printf("ID: %s, Token: %d\n", yytext, ID);} + .|\n %% diff --git a/test1.txt b/test1.txt deleted file mode 100644 index defc56b..0000000 --- a/test1.txt +++ /dev/null @@ -1,24 +0,0 @@ -This is a test -9combined 7okens -12345 -893247892 -combined'DueToUnknownChar _validtoken __validtoken1 _valid_token2 validToken3_ -true false -null while !wrong if when -else type function -return external as -string _NOte_that_was_not_reserved -([)]{}:;,->"\ -+-*/% -<= -:= -"This is not a valid -String" -"This is a valid String" -!| -.. -(* this is a comment *) -(*Not a comment -$^& -> - diff --git a/tests/test_keywards.alpha b/tests/test_keywards.alpha index ff18168..ebd52ee 100644 --- a/tests/test_keywards.alpha +++ b/tests/test_keywards.alpha @@ -27,3 +27,4 @@ exteRnal as As aS +functionaly \ No newline at end of file diff --git a/tests/test_otherpunc.txt b/tests/test_otherpunc.txt new file mode 100644 index 0000000..bd1f2de --- /dev/null +++ b/tests/test_otherpunc.txt @@ -0,0 +1,6 @@ +; +: +, +-> +->> +--> \ No newline at end of file