<- Back to shtanton's homepage
aboutsummaryrefslogtreecommitdiff
path: root/subex/subexast.go
diff options
context:
space:
mode:
authorCharlie Stanton <charlie@shtanton.xyz>2024-05-02 21:45:45 +0100
committerCharlie Stanton <charlie@shtanton.xyz>2024-05-02 21:45:45 +0100
commitb434fe4e14f6dcc8d1d7433a29351b8e8ea77d37 (patch)
tree50b7e54713d23c965f6ffc23d9feeecd1dd60301 /subex/subexast.go
parent22ccb0c370cf2690f1b1a80fe003e05c6ba5e5ed (diff)
downloadstred-go-b434fe4e14f6dcc8d1d7433a29351b8e8ea77d37.tar
Add , subex syntax to make FullMerge commands easierHEADmain
Diffstat (limited to 'subex/subexast.go')
-rw-r--r--subex/subexast.go12
1 files changed, 12 insertions, 0 deletions
diff --git a/subex/subexast.go b/subex/subexast.go
index d08ddac..655a783 100644
--- a/subex/subexast.go
+++ b/subex/subexast.go
@@ -238,6 +238,18 @@ func (ast SubexASTCopyNumber) String() string {
return "%"
}
+// Read in a null, bool, number, string or empty array or map and output it unchanged
+type SubexASTCopyAnySimpleValue struct {}
+func (ast SubexASTCopyAnySimpleValue) compileWith(next SubexState, slotMap *SlotMap, inType Type, outType Type) SubexState {
+ if inType != ValueType || outType != ValueType {
+ panic("Invalid types for SubexASTCopyAnySimpleValue")
+ }
+ return &SubexCopyState {
+ next: next,
+ filter: simpleValueFilter{},
+ }
+}
+
// Read in any single Atom and output it unchanged
type SubexASTCopyAnyValue struct {}
func (ast SubexASTCopyAnyValue) compileWith(next SubexState, slotMap *SlotMap, inType Type, outType Type) SubexState {