diff --git a/lang/interpret_test/TestAstFunc2/lexer-parser0.txtar b/lang/interpret_test/TestAstFunc2/lexer-parser0.txtar new file mode 100644 index 00000000..d12ca1bc --- /dev/null +++ b/lang/interpret_test/TestAstFunc2/lexer-parser0.txtar @@ -0,0 +1,16 @@ +-- main.mcl -- +import "fmt" + +$map = 55 +$fn = func($in) { # in is a special keyword + 13 +} +test fmt.printf("%d", $fn(0)) {} +func fn($in) { # in is a special keyword + 42 + $map +} +test fmt.printf("%d", $fn(0)) {} +test fmt.printf("%d", fn(0)) {} +-- OUTPUT -- +Vertex: test[13] +Vertex: test[97] diff --git a/lang/parser/lexer.nex b/lang/parser/lexer.nex index 29fa39f7..13251819 100644 --- a/lang/parser/lexer.nex +++ b/lang/parser/lexer.nex @@ -139,11 +139,6 @@ lval.str = yylex.Text() return NOT } -/in/ { - yylex.pos(lval) // our pos - lval.str = yylex.Text() - return IN - } /\->/ { yylex.pos(lval) // our pos lval.str = yylex.Text() @@ -306,6 +301,11 @@ lval.str = yylex.Text() return IDENTIFIER } +/in/ { + yylex.pos(lval) // our pos + lval.str = yylex.Text() + return IN + } /[A-Z]([a-z0-9_]*[a-z0-9]+)?/ { yylex.pos(lval) // our pos