shithub: martian9

Download patch

ref: cee3c78840d9cde8172fb8f167a75f20ecf6451c
parent: efd8060bae1542dd17556dcdc182b18b5bc35d36
author: smazga <[email protected]>
date: Mon Oct 12 12:47:17 EDT 2020

macro

--- a/reader.ml
+++ b/reader.ml
@@ -100,9 +100,9 @@
       print_endline ("  sym: " ^ Printer.print sym true);
       print_endline ("    rest: " ^ Printer.dump rest);
       (match rest with
-       | T.List { T.value = [ T.Symbol { T.value = "syntax-rules" }; foo ] } ->
-          print_endline ("    foo: " ^ foo)
-       | _ -> print_endline ("xxxxxxxx"))
+       | T.List { T.value = T.Symbol { T.value = "syntax-rules" } :: _ :: clauses } :: [] ->
+          print_endline ("    clauses: " ^ Printer.dump clauses)
+       | _ as y -> print_endline ("xxxxxxxx: " ^ Printer.dump y))
    | _ as x -> print_endline ("  rest: " ^ Printer.dump x));
   (* | T.List { T.value = [ T.Symbol { T.value = "define-syntax" }; keyword; T.List { T.value = macro } ] } ->
    *    (match macro with
@@ -112,11 +112,6 @@
    *        macro_entry) *)
   { form = Types.list list_reader.list_form; tokens = list_reader.tokens }
 
-(*    (match ast with
- *    | [] -> raise End_of_file
- *    | hd :: tl -> print_endline ("   macro: " ^ String.concat " " tl));
- *    raise (Syntax_error ("macro botch"))
- * | _ -> raise (Syntax_error "bad macro read") *)
 and read_form all_tokens =
   (* print_endline ("READ_FORM: " ^ String.concat " " all_tokens); *)
   match all_tokens with