1 Star 13 Fork 0

jianchiyiye/cylisp

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
yexp-sexp.scm 2.11 KB
一键复制 编辑 原始数据 按行查看 历史
jianchiyiye 提交于 2021-11-24 08:44 . ver0.6 is OK.
(define-macro/err (set-cyl-list/sexp-guide yexp)
`(let ((sexp-str "")
(sexp-ls 0)
(sexp-rs 0)
(sexp-cyl '())
)
;;(y-or-n "yexp->set-sexp-list TEST")
(push (string c) str-l)
(push (string c) fn-l)
(push (list (string c) 1 coding st (cyl-serial)) cyl-l)
(set! loc (+ loc 1))
(set! c (string-ref s loc))
(if (rd-s-beg c)
(let ((flag/rev cyl-sexp-flag))
;;(y-or-n "yexp->set-sexp-list1:guide=~a,cyl-l=~a." cyl-sexp-guide cyl-l)
(let-set! (sexp-str loc sexp-ls sexp-rs sexp-cyl st) (run/err sexp s (+ loc 1) 1 0))
;;(y-or-n "yexp->set-cyl-list2:sexp-cyl=~a\n" sexp-cyl)
(push sexp-str str-l)
(push sexp-str fn-l)
;;(y-or-n "cyl-l=[~a]\n" (list cyl-l))
;;(y-or-n "res-cyl=[~a]\n" (merge-list loc sexp-cyl))
;;(set! cyl-l (append (list cyl-l) (list (merge-list loc sexp-cyl))))
;;(y-or-n "yexp->set-cyl-list3:cyl-l=~a\n" cyl-l)
(push (merge-list loc sexp-cyl) cyl-l)
;;(set! cyl-l (list (list cyl-l (merge-num loc cyl-l 1) 0 'lisp-call (cyl-serial))))
(set! cyl-l (list (merge-cyl loc cyl-l 'lisp-call)))
(set! cyl-sexp-flag flag/rev)
;;(y-or-n "yexp->set-cyl-list4:cyl-l=~a\n" cyl-l)
)
(begin
;;(y-or-n "yexp->set-sexp-list2:guide=~a,cyl-l=~a." cyl-sexp-guide cyl-l)
(let-set! (res-str loc st)(run/err get-sym s loc))
(push res-str str-l)
(push res-str fn-l)
;;(push cyl-l cyl-l)
;;(set! cyl-l (append (list (list res-str (string-length res-str) 0 '符号常量 (cyl-serial))) (list cyl-l)))
(push (list res-str (string-length res-str) 0 '符号常量 (cyl-serial)) cyl-l)
(set! cyl-l (list (merge-cyl loc cyl-l 'lisp-call)))
;;(y-or-n "set-cyl-list/sexp-guide: cyl-l=~a\n" cyl-l)
))
(set! st 'lisp-call)
))
(define-macro/err (set-cyl-list/sexp-begin yexp)
`(let ((flag/rev cyl-sexp-flag)
(sexp-str "")
(sexp-ls 0)
(sexp-rs 0)
(sexp-cyl '())
)
(let-set! (sexp-str loc sexp-ls sexp-rs sexp-cyl st)(run/err sexp s (+ loc 1) 1 0))
(push sexp-str str-l)
(push sexp-str fn-l)
(push sexp-cyl cyl-l)
(set! cyl-sexp-flag flag/rev)
))
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Scheme
1
https://gitee.com/jianchiyiye/cylisp.git
git@gitee.com:jianchiyiye/cylisp.git
jianchiyiye
cylisp
cylisp
master

搜索帮助