aboutsummaryrefslogtreecommitdiff
path: root/compatibility/2.4.nom
diff options
context:
space:
mode:
authorBruce Hill <bruce@bruce-hill.com>2019-01-14 17:14:34 -0800
committerBruce Hill <bruce@bruce-hill.com>2019-01-14 17:14:57 -0800
commitddef8be3df626d63f6e575d4c1416295a22371ad (patch)
tree78af9584447b085f06d6412d2cc20137a460848b /compatibility/2.4.nom
parent9fceff7e785bb234971b443809eef3da9051c598 (diff)
Moved compatibility to lib/ and fixed path searching for .peg files.
Diffstat (limited to 'compatibility/2.4.nom')
-rw-r--r--compatibility/2.4.nom85
1 files changed, 0 insertions, 85 deletions
diff --git a/compatibility/2.4.nom b/compatibility/2.4.nom
deleted file mode 100644
index e0d2e02..0000000
--- a/compatibility/2.4.nom
+++ /dev/null
@@ -1,85 +0,0 @@
-#!/usr/bin/env nomsu -V6.14
-#
- This file defines upgrades from Nomsu <2.4 to Nomsu 2.4
-
-use "compatibility/compatibility"
-
-~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-upgrade $tree to "2.4" as:
- unless ($tree is "Action" syntax tree): return
- if $tree.stub is:
- "when" "if":
- if ((size of $tree) == 3): return $tree
- $conditions = []
- $new_lines = []
- $body =
- ($tree.2 upgraded) if ($tree.2 is "Block" syntax tree) else [$tree.2 upgraded]
-
- for $line in $body:
- when:
- (not ($line is "Action" syntax tree)):
- $new_lines, add $line
-
- ($line.stub is "*"):
- if ((size of $line) == 2):
- $conditions, add $line.2
- ..else:
- $new_lines, add $line
-
- ($line.stub == "* else"):
- $new_lines, add (\(else $block) with vars {.block = $line.3})
-
- else:
- $conditions, add $line.2
- $action = $line.3
- unless ($action is "Block" syntax tree):
- $action = (=lua "SyntaxTree{type='Block', source=\$action.source, \$action}")
- $conditions, add $action
- $new_lines, add
- =lua ("
- SyntaxTree{type='Action', source=\$conditions[1].source, unpack(\$conditions)}
- ")
- $conditions = []
-
- return
- \(when $body) with vars {
- .body =
- =lua "SyntaxTree{type='Block', source=\$tree[2].source, unpack(\$new_lines)}"
- }
-
- "if 1 is ?" "if 1 = ?":
- $values = []
- $new_lines = []
- $body =
- ($tree.5 upgraded) if ($tree.5 is "Block" syntax tree) else [$tree.5 upgraded]
-
- for $line in $body:
- when:
- (not ($line is "Action" syntax tree)):
- $new_lines, add $line
-
- ($line.stub is "*"):
- if ((size of $line) == 2):
- $values, add $line.2
- ..else:
- $new_lines, add $line
-
- ($line.stub == "* else"):
- $new_lines, add (\(else $block) with vars {.block = $line.3})
-
- else:
- $values, add $line.2
- $action = $line.3
- unless ($action is "Block" syntax tree): $action = \(: $action)
- $values, add $action
- $new_lines, add
- =lua "SyntaxTree{type='Action', source=\$values[1].source, unpack(\$values)}"
- $values = []
-
- return
- \(if $var is $body) with vars {
- .var = ($tree.2 upgraded)
- .body =
- =lua "SyntaxTree{type='Block', source=\$tree[5].source, unpack(\$new_lines)}"
- }