finish yaml gen

This commit is contained in:
2025-08-31 14:59:37 +02:00
parent f1be675f10
commit 8d18875697
3 changed files with 57 additions and 20 deletions

View File

@@ -12,9 +12,9 @@
(':seq-exp hd) (':seq-exp tl)) (':seq-exp hd) (':seq-exp tl))
(:macro seq (hd) (:macro seq (hd)
(':t (':seq-exp hd))) (':seq-exp hd))
(:macro seq (hd .. tl) (:macro seq (hd .. tl)
(':t (':seq-exp hd tl))) (':seq-exp hd tl))
(:macro c-paren-eval (x) (:macro c-paren-eval (x)
(':c-atm x) (':c-atm x)
@@ -40,7 +40,8 @@
(':t2ot-elt hd) (':t2ot-elt hd)
(':t2ot-elt tl))) (':t2ot-elt tl)))
(:macro t () (':ot)) (:macro t ()
(':ot))
(:macro t ( .. tl ) (:macro t ( .. tl )
(':ot (':ot
(':t2ot-elt tl))) (':t2ot-elt tl)))
@@ -48,33 +49,23 @@
(:macro ot ( x ) (:macro ot ( x )
(':yot (':indent x))) (':yot (':indent x)))
(:macro indent ( (x(:c-str _)) )
(':str-cat " " x))
(:macro indent ( (hd(:c-atm _)) .. tl )
(':indent hd)
(':indent tl))
(:macro indent-each ()) (:macro indent-each ())
(:macro indent-each ( hd ) (:macro indent-each ( hd )
(':indent hd)) (':indent hd))
(:macro indent-each ( hd .. tl ) (:macro indent-each ( hd .. tl )
(':indent hd) (':indent-each hd)
(':indent-each tl)) (':indent-each tl))
(:macro rm-first (x .. tl) (:macro rm-first (x .. tl)
tl) tl)
;(:macro indent ( (x(:c-str _)) )
; (':str-cat " " x))
(:macro indent ( (x(:c-li0-eq _ :tree)) ) (:macro indent ( (x(:c-li0-eq _ :tree)) )
(':tree (':indent-each (':rm-first (':unpack x))))) (':tree (':indent-each (':rm-first (':unpack x)))))
(:macro indent ( (x(:c-li0-eq _ :atm-to-str)) ) (:macro indent ( (x(:c-li0-eq _ :atm-to-str)) )
(':atm-to-str (':indent-each (':rm-first (':unpack x))))) (':atm-to-str (':indent-each (':rm-first (':unpack x)))))
(:macro indent ( (x(:c-li0-eq _ :yot)) ) (:macro indent ( (x(:c-li0-eq _ :yot)) )
(':yot (':indent-each (':rm-first (':unpack x))))) (':yot (':indent-each (':rm-first (':unpack x)))))
(:macro indent ( (x(:c-li0-eq _ :dict-key)) ) (:macro indent ( (x(:c-li0-eq _ :dict-key)) )
(':dict-key (':indent-each (':rm-first (':unpack x))))) (':dict-key (':indent-each (':rm-first (':unpack x)))))

43
yaml.1.lsp Normal file
View File

@@ -0,0 +1,43 @@
(:macro rm-first (x .. tl)
tl)
(:macro rm-indent ( (x(:c-li0-eq _ :tree)) )
(':tree
(':rm-indent-each
(':rm-first
(':unpack x)))))
(:macro rm-indent ( (x(:c-li0-eq _ :yot)) )
(':yot
(':rm-indent
(':rm-first
(':unpack x)))))
(:macro rm-indent ( (x(:c-li0-eq _ :atm-to-str)) )
(':atm-to-str
(':rm-indent
(':rm-first
(':unpack x)))))
(:macro rm-indent ( (x(:c-li0-eq _ :dict-key)) )
(':dict-key
(':rm-indent
(':rm-first
(':unpack x)))))
(:macro rm-indent ( (x(:c-li0-eq _ :indent)) )
(':rm-first
(':unpack x)))
(:macro rm-indent-each ( x )
(':rm-indent x))
(:macro rm-indent-each ( x .. tl )
(':rm-indent x)
(':rm-indent-each tl))
(:macro cfg ()
(':ocfg))
(:macro cfg ( x )
(':ocfg
(':rm-indent x)))
(:macro cfg ( hd .. tl )
(':ocfg
(':rm-indent hd)
(':rm-indent-each tl)))

View File

@@ -20,9 +20,12 @@
(':str-cat x (':str-cat x
(':reduce-cat tl))) (':reduce-cat tl)))
(:macro cfg ( ) (:macro ocfg ( )
"") "")
(:macro cfg ( x ) (:macro ocfg ( x )
x) x)
(:macro cfg ( x .. tl ) (:macro ocfg ( x .. tl )
(':tree x (':cfg tl))) (':tree x (':ocfg tl)))
(:macro indent ( x )
(':str-cat " " x))