difftastic/test/corpus/basic.txt

619 lines
15 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)
(defmethod input-gradient :around
(lazy-array output-gradient index)
(let ((input (nth index (lazy-array-inputs lazy-array)))
(value (call-next-method)))
(if (petalisp.type-inference:ntype=
(element-ntype value)
(element-ntype input))
value
(lazy #'coerce value (element-type input)))))
--------------------------------------------------------------------------------
(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)))
(list_lit
(defun
(defun_header
(defun_keyword)
(sym_lit)
(kwd_lit
(sym_lit))
(list_lit
(sym_lit)
(sym_lit)
(sym_lit)))
(list_lit
(sym_lit)
(list_lit
(list_lit
(sym_lit)
(list_lit
(sym_lit)
(sym_lit)
(list_lit
(sym_lit)
(sym_lit))))
(list_lit
(sym_lit)
(list_lit
(sym_lit))))
(list_lit
(sym_lit)
(list_lit
(package_lit
(dotted_sym_lit
(sym_lit)
(sym_lit))
(sym_lit))
(list_lit
(sym_lit)
(sym_lit))
(list_lit
(sym_lit)
(sym_lit)))
(sym_lit)
(list_lit
(sym_lit)
(var_quoting_lit
(sym_lit))
(sym_lit)
(list_lit
(sym_lit)
(sym_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
================================================================================
(cl: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)
(for_clause_word)
(sym_lit)))
(loop_clause
(for_clause
(sym_lit)
(for_clause_word)
(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)))))))))))))))))
================================================================================
Loop Macro (Accumulation)
================================================================================
(loop for i below 10
collect x into a)
--------------------------------------------------------------------------------
(source
(list_lit
(loop_macro
(loop_clause
(for_clause
(sym_lit)
(for_clause_word)
(num_lit)))
(loop_clause
(accumulation_clause
(accumulation_verb)
(sym_lit)
(sym_lit))))))
================================================================================
Loop Macro (finally)
================================================================================
(loop for a below 8
for x = (+ a)
with first-x = (+ a)
if (> x 10) return x
do (format t "~A ~A~%" x first-x)
finally (return 3))
--------------------------------------------------------------------------------
(source
(list_lit
(loop_macro
(loop_clause
(for_clause
(sym_lit)
(for_clause_word)
(num_lit)))
(loop_clause
(for_clause
(sym_lit)
(for_clause_word)
(list_lit
(sym_lit)
(sym_lit))))
(loop_clause
(with_clause
(sym_lit)
(list_lit
(sym_lit)
(sym_lit))))
(loop_clause
(condition_clause
(list_lit
(sym_lit)
(sym_lit)
(num_lit))))
(loop_clause
(termination_clause
(sym_lit)))
(loop_clause
(do_clause
(list_lit
(sym_lit)
(sym_lit)
(str_lit)
(sym_lit)
(sym_lit))))
(loop_clause
(termination_clause
(list_lit
(sym_lit)
(num_lit)))))))
================================================================================
Loop Macro (do do do)
================================================================================
(loop for a below 8
for x = (+ a)
with first-x = (+ a)
if (> x 10) return x
do (format t "~A ~A~%" x first-x) (format t "~A ~A~%" x first-x)
finally (return 3))
--------------------------------------------------------------------------------
(source
(list_lit
(loop_macro
(loop_clause
(for_clause
(sym_lit)
(for_clause_word)
(num_lit)))
(loop_clause
(for_clause
(sym_lit)
(for_clause_word)
(list_lit
(sym_lit)
(sym_lit))))
(loop_clause
(with_clause
(sym_lit)
(list_lit
(sym_lit)
(sym_lit))))
(loop_clause
(condition_clause
(list_lit
(sym_lit)
(sym_lit)
(num_lit))))
(loop_clause
(termination_clause
(sym_lit)))
(loop_clause
(do_clause
(list_lit
(sym_lit)
(sym_lit)
(str_lit)
(sym_lit)
(sym_lit))))
(loop_clause
(list_lit
(sym_lit)
(sym_lit)
(str_lit)
(sym_lit)
(sym_lit)))
(loop_clause
(termination_clause
(list_lit
(sym_lit)
(num_lit)))))))
================================================================================
Conses
================================================================================
(2 . 3)
(2 . ( 2 3))
--------------------------------------------------------------------------------
(source
(list_lit
(num_lit)
(num_lit))
(list_lit
(num_lit)
(list_lit
(num_lit)
(num_lit))))
================================================================================
Complex Numbers
================================================================================
#C(2 3)
#C
( 2 1)
#C(-2 1)
--------------------------------------------------------------------------------
(source
(complex_num_lit
(num_lit)
(num_lit))
(complex_num_lit
(num_lit)
(num_lit))
(complex_num_lit
(num_lit)
(num_lit)))
================================================================================
Reader Macros
================================================================================
#+unix(loop)
#+windows
(loop)
--------------------------------------------------------------------------------
(source
(include_reader_macro
(sym_lit)
(list_lit
(loop_macro)))
(include_reader_macro
(sym_lit)
(list_lit
(loop_macro))))
================================================================================
Packages
================================================================================
foo:baz
foo.bar:baz
(foo.bar:baz)
--------------------------------------------------------------------------------
(source
(package_lit
(sym_lit)
(sym_lit))
(package_lit
(dotted_sym_lit
(sym_lit)
(sym_lit))
(sym_lit))
(list_lit
(package_lit
(dotted_sym_lit
(sym_lit)
(sym_lit))
(sym_lit))))
================================================================================
Keywords
================================================================================
:foo
:foo.bar
--------------------------------------------------------------------------------
(source
(kwd_lit
(sym_lit))
(kwd_lit
(dotted_sym_lit
(sym_lit)
(sym_lit))))
================================================================================
Functions with numbers (TODO!!!)
================================================================================
1+
1-
--------------------------------------------------------------------------------
(source
(num_lit)
(sym_lit)
(num_lit)
(sym_lit))
================================================================================
Petalisp shapes
================================================================================
(~ (* w h) ~ 128)
--------------------------------------------------------------------------------
(source
(list_lit
(sym_lit)
(list_lit
(sym_lit)
(sym_lit)
(sym_lit))
(sym_lit)
(num_lit)))
================================================================================
Chars
================================================================================
#\?
--------------------------------------------------------------------------------
(source
(char_lit))
================================================================================
Dotted literals
================================================================================
foo.bar
foo. bar
.bar
#.bar
--------------------------------------------------------------------------------