diff --git a/Grammar-FE-t-NoTask b/Grammar-FE-t-NoTask new file mode 100644 index 0000000..1ad478e --- /dev/null +++ b/Grammar-FE-t-NoTask @@ -0,0 +1,35 @@ +* Dev + Sprint1-TokenLocationLogic-NoTask + Sprint1-TokenizeConstantsAndLiterals-FE-t#03 + Sprint2-BlockHandlingGrammar-FE-t#34 + Sprint2-CombineGrammarAndMakeAndRunner-BE-NoTask# + Sprint2-NewFormatPlusGrammar-FE-t#NoTask + Sprint2-PrintOutErrorTokenPositions-NoTask + Sprint2-Symbol_Table_Setup-FE-t#32 + Token_Error_Logic-No_Task + main + remotes/origin/Dev + remotes/origin/HEAD -> origin/main + remotes/origin/Sprint1-BasicProgSetup-FE-t#06 + remotes/origin/Sprint1-BasicProgSetupFix-t#06 + remotes/origin/Sprint1-HelpInput-FE-t#18 + remotes/origin/Sprint1-TokenLocationLogic-NoTask + remotes/origin/Sprint1-TokenizeConstantsAndLiterals-FE-t#03 + remotes/origin/Sprint1-TokenizeID_MainFunction-FE-t#04 + remotes/origin/Sprint1-TokenizeOperators-FE-t#08 + remotes/origin/Sprint1-Type/Keywards-FE-t#07 + remotes/origin/Sprint1-punctuation/grouping-FE-t#09 + remotes/origin/Sprint2-AssignableAndMemory-FE-t#39 + remotes/origin/Sprint2-BlockHandlingGrammar-FE-t#34 + remotes/origin/Sprint2-CombineGrammarAndMakeAndRunner-BE-NoTask# + remotes/origin/Sprint2-CommandLineHandling-FE-t#33 + remotes/origin/Sprint2-CompoundStmntGrmmr-FE-t#36 + remotes/origin/Sprint2-FunctionDefinition-FE-t#38 + remotes/origin/Sprint2-Infrastructure-FE-t#30 + remotes/origin/Sprint2-NewFormatPlusGrammar-FE-t#NoTask + remotes/origin/Sprint2-PrintOutErrorTokenPositions-NoTask + remotes/origin/Sprint2-SymbolTableOperations-FE-t#29 + remotes/origin/Sprint2-Symbol_Table_Setup-FE-t#32 + remotes/origin/Sprint2-addingTests-t#00 + remotes/origin/Token_Error_Logic-No_Task + remotes/origin/main diff --git a/src/lexicalStructure.lex b/src/lexicalStructure.lex index 0c53b6f..eac2840 100644 --- a/src/lexicalStructure.lex +++ b/src/lexicalStructure.lex @@ -36,10 +36,10 @@ SCHAR \\n|\\t|\\\"|[^\"\n\\] %% -"integer" {if(DEBUG) {printf( "T_INTEGER: %s (%d)\n", yytext, T_INTEGER);} else {if(tok_flag != NULL){print_tok(T_INTEGER);}incr(line_number,column_number,T_INTEGER);return T_INTEGER;}} -"address" {if(DEBUG) {printf( "T_ADDRESS: %s (%d)\n", yytext, T_ADDRESS);} else {if(tok_flag != NULL){print_tok(T_ADDRESS);}incr(line_number,column_number,T_ADDRESS);return T_ADDRESS;}} -"Boolean" {if(DEBUG) {printf( "T_BOOLEAN: %s (%d)\n", yytext, T_BOOLEAN);} else {if(tok_flag != NULL){print_tok(T_INTEGER);}incr(line_number,column_number,T_INTEGER);return T_BOOLEAN;}} -"character" {if(DEBUG) {printf( "T_CHARACTER: %s (%d)\n", yytext, T_CHARACTER);} else {if(tok_flag != NULL){print_tok(T_CHARACTER);}incr(line_number,column_number,T_CHARACTER);return T_CHARACTER;}} +"integer" {if(DEBUG) {printf( "T_INTEGER: %s (%d)\n", yytext, T_INTEGER);} else {if(tok_flag != NULL){print_tok(T_INTEGER);}incr(line_number,column_number,T_INTEGER);yylval.words = strdup(yytext);return T_INTEGER;}} +"address" {if(DEBUG) {printf( "T_ADDRESS: %s (%d)\n", yytext, T_ADDRESS);} else {if(tok_flag != NULL){print_tok(T_ADDRESS);}incr(line_number,column_number,T_ADDRESS);yylval.words = strdup(yytext);return T_ADDRESS;}} +"Boolean" {if(DEBUG) {printf( "T_BOOLEAN: %s (%d)\n", yytext, T_BOOLEAN);} else {if(tok_flag != NULL){print_tok(T_INTEGER);}incr(line_number,column_number,T_INTEGER);yylval.words = strdup(yytext);return T_BOOLEAN;}} +"character" {if(DEBUG) {printf( "T_CHARACTER: %s (%d)\n", yytext, T_CHARACTER);} else {if(tok_flag != NULL){print_tok(T_CHARACTER);}incr(line_number,column_number,T_CHARACTER);yylval.words = strdup(yytext);return T_CHARACTER;}} "while" {if(DEBUG) {printf( "WHILE: %s (%d)\n", yytext, WHILE);} else {if(tok_flag != NULL){print_tok(WHILE);}incr(line_number,column_number,WHILE);return WHILE;}} "if" {if(DEBUG) {printf( "IF: %s (%d)\n", yytext, IF);} else {if(tok_flag != NULL){print_tok(IF);}incr(line_number,column_number,IF);return IF;}} @@ -84,9 +84,9 @@ SCHAR \\n|\\t|\\\"|[^\"\n\\] "{" {if(DEBUG) {printf( "L_BRACE: %s (%d)\n", yytext, L_BRACE);} else {if(tok_flag != NULL){print_tok(L_BRACE);}incr(line_number,column_number,L_BRACE);return L_BRACE;}} "}" {if(DEBUG) {printf( "R_BRACE: %s (%d)\n", yytext, R_BRACE);} else {if(tok_flag != NULL){print_tok(R_BRACE);}incr(line_number,column_number,R_BRACE);return R_BRACE;}} -"true" {if(DEBUG) {printf( "C_TRUE: %s (%d)\n", yytext, C_TRUE);} else {if(tok_flag != NULL){print_tok(C_TRUE);}incr(line_number,column_number,C_TRUE);return C_TRUE;}} -"false" {if(DEBUG) {printf( "C_FALSE: %s (%d)\n", yytext, C_FALSE);} else {if(tok_flag != NULL){print_tok(C_FALSE);}incr(line_number,column_number,C_FALSE);return C_FALSE;}} -"null" {if(DEBUG) {printf( "C_NULL: %s (%d)\n", yytext, C_NULL);} else {if(tok_flag != NULL){print_tok(C_NULL);}incr(line_number,column_number,C_NULL);return C_NULL;}} +"true" {if(DEBUG) {printf( "C_TRUE: %s (%d)\n", yytext, C_TRUE);} else {if(tok_flag != NULL){print_tok(C_TRUE);}incr(line_number,column_number,C_TRUE);yylval.words = strdup(yytext);return C_TRUE;}} +"false" {if(DEBUG) {printf( "C_FALSE: %s (%d)\n", yytext, C_FALSE);} else {if(tok_flag != NULL){print_tok(C_FALSE);}incr(line_number,column_number,C_FALSE);yylval.words = strdup(yytext);return C_FALSE;}} +"null" {if(DEBUG) {printf( "C_NULL: %s (%d)\n", yytext, C_NULL);} else {if(tok_flag != NULL){print_tok(C_NULL);}incr(line_number,column_number,C_NULL);yylval.words = strdup(yytext);return C_NULL;}} {ID} {if(DEBUG) {printf( "ID: %s (%d)\n", yytext, ID);} else {if(tok_flag != NULL){print_tok(ID);}incr(line_number,column_number,ID);yylval.words = strdup(yytext); return ID;}}