From 7733f5b3c230eedbf8aa3716c94aed013af58db3 Mon Sep 17 00:00:00 2001 From: Brandon Rozek Date: Fri, 28 Sep 2018 15:28:47 -0400 Subject: [PATCH] Updated token splitter to contain lambda notatoin --- extra/token_spitter.l | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/extra/token_spitter.l b/extra/token_spitter.l index 76b7a0b..b0ffacb 100644 --- a/extra/token_spitter.l +++ b/extra/token_spitter.l @@ -31,6 +31,8 @@ #define COMMENT 128 #define ERROR 129 #define WHITESPACE 130 +#define LAMBDA 131 +#define COLON 132 %} ALPHA [a-zA-Z] DIGIT [0-9] @@ -44,7 +46,7 @@ DIGIT [0-9] "(" {return OPENPAREM;} ")" {return ENDPAREM;} ";" {return SEMICOLON;} -%.*\n {return COMMENT;} +%.*\n {} // Comments "<" {return LESS;} ">" {return GREATER;} "<=" {return LESSEQ;} @@ -63,11 +65,17 @@ DIGIT [0-9] "while" {return WHILE;} "print" {return PRINT;} "input" {return INPUT;} +"lambda" {return LAMBDA;} +":" {return COLON;} +"true" {return VALUE;} +"false" {return VALUE;} +\".*\" {return VALUE; } +{DIGIT} {return VALUE;} {DIGIT}*"."?{DIGIT}+ {return VALUE;} [_a-zA-Z][_a-zA-Z0-9]* {return IDENTIFIER;} -[ \n\t\r]+ {return WHITESPACE;} -. {printf("Syntax Error! Received: %s\n", yytext); return ERROR;} - +[\n] { } +[ \t\r]+ {} +. {printf("Error: invlaid lexeme '%s'.\n", yytext); return 0;} %% int main(int argc, char* argv[]) { if (argc != 2) {