difftastic/test/corpus/basic.txt

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)))))))))))))))))