diff options
-rw-r--r-- | src/tparse/tree-value.go | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/src/tparse/tree-value.go b/src/tparse/tree-value.go index 843ef0c..abb785b 100644 --- a/src/tparse/tree-value.go +++ b/src/tparse/tree-value.go @@ -273,8 +273,13 @@ func parseValue(tokens *[]Token, tok, max int) (Node, int) { parn-- case "/;": + _, prs := ORDER[(*tokens)[tok - 1].Data] + if !prs && block == 0 { + goto PARSEBIN + } block++ case ";/": + if block > 0 { block-- } @@ -329,8 +334,8 @@ func parseTypeParams(tokens *[]Token, tok, max int) (Node, int) { tmp.Data.Data = "[]" } else if t.Data == ")" || t.Data == "]" || t.Data == "}" { // End of type - tok++ - goto VOIDDONE + //errOutV("Test", tok, max, t) + goto DONE } else { errOut("Error: unexpected delimeter when parsing type", t) } @@ -340,13 +345,13 @@ func parseTypeParams(tokens *[]Token, tok, max int) (Node, int) { default: // End of type - goto VOIDDONE + goto DONE } out.Sub = append(out.Sub, tmp) } - VOIDDONE: + DONE: return out, tok } |