A dropped datum is replaced by whatever follows it, but what follows may be the end of the file or the paren closing the list we are in. Hand the token back to the caller instead: read-list closes its list with it and the toplevel loop stops. A `;' comment between a guard and the form it guards was also taken for the guarded datum, so the form stayed unconditional and the guard did nothing. Skip comments when reading the guard. comment-form? was defined three times over; it moves to utils.
Sextest
A tool for testing Sex compiler by using test programs. The tools compiles test programs, then runs with provided input, checking the output and return code.
Test format
The test program is just a regular Sex program, which may contain additional toplevel forms, to define compilation parameters, input to the program, and expected output and return code. Default value for compilation, input and output is an empty strings. For the return code it is 0.
Example
some-test.sex:
(compilation "-- -O2")
(input "")
(output "Hello world!")
(return 123)
(include stdio.h)
(pub fn main () int
(puts "Hello World!")
(return 123))