summaryrefslogtreecommitdiff
path: root/src/tparse
diff options
context:
space:
mode:
Diffstat (limited to 'src/tparse')
-rw-r--r--src/tparse/tree-statement.go4
-rw-r--r--src/tparse/type.go1
2 files changed, 5 insertions, 0 deletions
diff --git a/src/tparse/tree-statement.go b/src/tparse/tree-statement.go
index 9280253..262bd6f 100644
--- a/src/tparse/tree-statement.go
+++ b/src/tparse/tree-statement.go
@@ -184,6 +184,10 @@ func keywordStatement(tokens *[]Token, tok, max int) (Node, int) {
tmp.Data = (*tokens)[tok]
tok++
// Check for a numerical value and dip
+ case "return":
+ if (*tokens)[tok].Type != DELIMIT || (*tokens)[tok].Data == "{" || (*tokens)[tok].Data == "(" {
+ tmp, tok = parseValue(tokens, tok, max)
+ }
case "alloc", "salloc":
// Parse value list
tmp, tok = parseValueList(tokens, tok, max)
diff --git a/src/tparse/type.go b/src/tparse/type.go
index b4ab2fe..1e51889 100644
--- a/src/tparse/type.go
+++ b/src/tparse/type.go
@@ -102,6 +102,7 @@ var RESWORD = map[string]int{
"loop": KEYWORD,
"continue": KEYWORD,
"break": KEYWORD,
+ "return": KEYWORD,
"match": KEYWORD,
"case": KEYWORD,