diff options
Diffstat (limited to 'src/tparse/tree.go')
-rw-r--r-- | src/tparse/tree.go | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/tparse/tree.go b/src/tparse/tree.go index 00e75fb..03d2a3d 100644 --- a/src/tparse/tree.go +++ b/src/tparse/tree.go @@ -46,8 +46,17 @@ func MakeTree(tokens *[]Token, file string) Node { for tok := 0; tok < max; { t := (*tokens)[tok] switch t.Data { - case "/;": + case "/;", ";;", ":;": + REBLOCK: + tmp, tok = parseBlock(tokens, tok + 1, max) + + if (*tokens)[tok].Data == ";;" { + out.Sub = append(out.Sub, tmp) + goto REBLOCK + } else if (*tokens)[tok].Data == ";/" { + tok++ + } case ";": tmp, tok = parseStatement(tokens, tok + 1, max) case "/:": |