summaryrefslogtreecommitdiff
path: root/src/tparse/tree.go
diff options
context:
space:
mode:
Diffstat (limited to 'src/tparse/tree.go')
-rw-r--r--src/tparse/tree.go11
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 "/:":