From c2c6e5c7e620c32e7f420e8b9ac21df8855b444c Mon Sep 17 00:00:00 2001 From: Nagi5Yeq Date: Sun, 31 May 2020 17:49:34 +0800 Subject: support for extern functions --- Lexer.l | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'Lexer.l') diff --git a/Lexer.l b/Lexer.l index d3e6f29..861806d 100644 --- a/Lexer.l +++ b/Lexer.l @@ -46,7 +46,7 @@ char_value {trival_char}|{escaped_char}|{hex_char}|{oct_char}|\\' char '{char_value}' string '{char_value}+' -identifier [a-z][0-9a-z_]* +identifier [a-z_][0-9a-z_]* white [\t\f\r ] @@ -64,6 +64,7 @@ white [\t\f\r ] ":=" {return Parser::make_ASSIGN(loc);} ":" {return Parser::make_COLON(loc);} ";" {return Parser::make_SEMICOLON(loc);} +"..." {return Parser::make_DOTDOTDOT(loc);} ".." {return Parser::make_DOTDOT(loc);} "." {return Parser::make_DOT(loc);} "," {return Parser::make_COMMA(loc);} @@ -99,6 +100,7 @@ white [\t\f\r ] "end" {return Parser::make_ENDS(loc);} "program" {return Parser::make_PROGRAM(loc);} "function" {return Parser::make_FUNCTION(loc);} +"extern" {return Parser::make_EXTERN(loc);} "var" {return Parser::make_VAR(loc);} "const" {return Parser::make_CONST(loc);} "type" {return Parser::make_TYPE(loc);} -- cgit