mirror of https://github.com/Wilfred/difftastic/
103 lines
3.6 KiB
Plaintext
103 lines
3.6 KiB
Plaintext
==========================================
|
|
Block Comments
|
|
==========================================
|
|
|
|
#|(ql.foo:quickload "cl-project")
|
|
(defun add (a b) |
|
|
(+ a b ))|#
|
|
|
|
(add 8 9)
|
|
|
|
---
|
|
|
|
(source (block_comment) (list_lit (sym_lit) (num_lit) (num_lit)))
|
|
|
|
|
|
==========================================
|
|
Block Comments 2
|
|
==========================================
|
|
|
|
(add #|8 |#9)
|
|
|
|
---
|
|
(source (list_lit (sym_lit) (block_comment) (num_lit)))
|
|
|
|
|
|
==========================================
|
|
Quasi-Quoting
|
|
==========================================
|
|
|
|
`(add a ,(b))
|
|
`(add a ,@(b))
|
|
`(add a , b)
|
|
`(add a ,b)
|
|
|
|
---
|
|
(source
|
|
(syn_quoting_lit (list_lit (sym_lit) (sym_lit) (unquoting_lit (list_lit (sym_lit)))))
|
|
(syn_quoting_lit (list_lit (sym_lit) (sym_lit) (unquote_splicing_lit (list_lit (sym_lit)))))
|
|
(syn_quoting_lit (list_lit (sym_lit) (sym_lit) (unquoting_lit (sym_lit))))
|
|
(syn_quoting_lit (list_lit (sym_lit) (sym_lit) (unquoting_lit (sym_lit)))))
|
|
|
|
==========================================
|
|
Fancy Literal
|
|
==========================================
|
|
|
|
(|`(add a ,(b))| a)
|
|
|
|
---
|
|
|
|
(source (list_lit (fancy_literal) (sym_lit)))
|
|
|
|
==========================================
|
|
Defun header
|
|
==========================================
|
|
(defun a (a b)
|
|
(car 1 2)
|
|
2)
|
|
( defun a (a b)
|
|
(car 1 2)
|
|
2)
|
|
---
|
|
(source
|
|
(list_lit (defun (defun_header (defun_keyword) (sym_lit) (list_lit (sym_lit) (sym_lit))) (list_lit (sym_lit) (num_lit) (num_lit)) (num_lit)))
|
|
(list_lit (defun (defun_header (defun_keyword) (sym_lit) (list_lit (sym_lit) (sym_lit))) (list_lit (sym_lit) (num_lit) (num_lit)) (num_lit))))
|
|
|
|
==========================================
|
|
Vectors
|
|
==========================================
|
|
|
|
#( 2 3 4)
|
|
#()
|
|
|
|
---
|
|
(source (vec_lit (list_lit (num_lit) (num_lit) (num_lit))) (vec_lit (list_lit)))
|
|
|
|
==========================================
|
|
Arrays
|
|
==========================================
|
|
|
|
#0A2
|
|
#2A((2 3 4))
|
|
|
|
---
|
|
(source (vec_lit (num_lit)) (vec_lit (array_dimension (num_lit)) (list_lit (list_lit (num_lit) (num_lit) (num_lit)))))
|
|
|
|
==========================================
|
|
Loop Macro
|
|
==========================================
|
|
|
|
(loop for dim-idx in xyz
|
|
for letter in (list 'x 'y 'z)
|
|
collect (let ((current-range (nth dim-idx iteration-ranges)))
|
|
`(, (get-counter-symbol dim-idx)
|
|
(+ ,(range-start current-range)
|
|
(* ,(range-step current-range)
|
|
,(case letter
|
|
(x '(+ thread-idx-x (* block-idx-x block-dim-x)))
|
|
(y '(+ thread-idx-y (* block-idx-y block-dim-y)))
|
|
(z '(+ thread-idx-z (* block-idx-z block-dim-z)))))))))
|
|
---
|
|
(source (list_lit (loop_macro (loop_clause (for_clause (sym_lit) (sym_lit))) (loop_clause (for_clause (sym_lit) (list_lit (sym_lit) (quoting_lit (sym_lit)) (quoting_lit (sym_lit)) (quoting_lit (sym_lit))))) (loop_clause (accumulation_clause (accumulation_verb) (list_lit (sym_lit) (list_lit (list_lit (sym_lit) (list_lit (sym_lit) (sym_lit) (sym_lit)))) (syn_quoting_lit (list_lit (unquoting_lit (list_lit (sym_lit) (sym_lit))) (list_lit (sym_lit) (unquoting_lit (list_lit (sym_lit) (sym_lit))) (list_lit (sym_lit) (unquoting_lit (list_lit (sym_lit) (sym_lit))) (unquoting_lit (list_lit (sym_lit) (sym_lit) (list_lit (sym_lit) (quoting_lit (list_lit (sym_lit) (sym_lit) (list_lit (sym_lit) (sym_lit) (sym_lit))))) (list_lit (sym_lit) (quoting_lit (list_lit (sym_lit) (sym_lit) (list_lit (sym_lit) (sym_lit) (sym_lit))))) (list_lit
|
|
(sym_lit) (quoting_lit (list_lit (sym_lit) (sym_lit) (list_lit (sym_lit) (sym_lit) (sym_lit)))))))))))))))))
|