From 8a3c32408733a2f5e14f8a2dbafa3f980b2f73a1 Mon Sep 17 00:00:00 2001 From: Bruce Hill Date: Sun, 30 Dec 2018 19:04:34 -0800 Subject: Update to new syntax. --- compatibility/2.4.nom | 58 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 34 insertions(+), 24 deletions(-) (limited to 'compatibility/2.4.nom') diff --git a/compatibility/2.4.nom b/compatibility/2.4.nom index 1d5463b..1279968 100644 --- a/compatibility/2.4.nom +++ b/compatibility/2.4.nom @@ -1,4 +1,4 @@ -#!/usr/bin/env nomsu -V5.12.12.8 +#!/usr/bin/env nomsu -V6.12.12.8 # This file defines upgrades from Nomsu <2.4 to Nomsu 2.4 @@ -13,58 +13,68 @@ upgrade $tree to "2.4" as: 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]) + $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 + (not ($line is "Action" syntax tree)): + $new_lines, add $line + ($line.stub is "*"): if ((size of $line) == 2): - $conditions|add $line.2 + $conditions, add $line.2 ..else: - $new_lines|add $line + $new_lines, add $line ($line.stub == "* else"): - $new_lines|add (\(else $block) with vars {block: $line.3}) + $new_lines, add (\(else $block) with vars {.block = $line.3}) else: - $conditions|add $line.2 + $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, 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)}" + 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]) + $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 + (not ($line is "Action" syntax tree)): + $new_lines, add $line + ($line.stub is "*"): if ((size of $line) == 2): - $values|add $line.2 + $values, add $line.2 ..else: - $new_lines|add $line + $new_lines, add $line ($line.stub == "* else"): - $new_lines|add (\(else $block) with vars {block: $line.3}) + $new_lines, add (\(else $block) with vars {.block = $line.3}) else: - $values|add $line.2 + $values, add $line.2 $action = $line.3 unless ($action is "Block" syntax tree): $action = \(: $action) - $values|add $action - $new_lines| + $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)}" + return + \(if $var is $body) with vars { + .var = ($tree.2 upgraded), .body = (=lua "SyntaxTree{type='Block', source=\$tree[5].source, unpack(\$new_lines)}") + } -- cgit v1.2.3