From b6551fda77163f74983688409aaf0c13c8186bec Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Tue, 15 Nov 2011 14:29:34 -0800 Subject: Changing read syntax for character literals, because we are going to need the single quote in the Lisp way for suppressing evaluation, eventually. I'm going with a Scheme-compatible syntax for character literals. It has a richer repertoire of standard character names than Common Lisp, and has a x convention for coding characters in hex. * lib.c (obj_print): Print characters in a Scheme-like way. * parser.h (end_of_char): New function declared. * parser.l (grammar): Implement rules for #\ syntax, with involving new HASH_BACKSLASH token. (end_of_regex): Enhancement: added check that end_of_regex is called in correct state, like the one in end_of_char. (end_of_char): New function. * parser.y (repeat_rep_helper, o_elems_transform, define_transform, lit_char_helper): Functions changed to static. (rl): Function moved down, past the grammar section. (HASH_BACKSLASH): New terminal symbol. (chrlit): Grammar redesigned. (char_from_name): New function. * txr.1: Character syntax documented. --- ChangeLog | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'ChangeLog') diff --git a/ChangeLog b/ChangeLog index b50b75db..c91fae43 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,32 @@ +2011-11-15 Kaz Kylheku + + Changing read syntax for character literals, because we are going to + need the single quote in the Lisp way for suppressing evaluation, + eventually. + + I'm going with a Scheme-compatible syntax for character literals. + It has a richer repertoire of standard character names than Common + Lisp, and has a x convention for coding characters in hex. + + * lib.c (obj_print): Print characters in a Scheme-like way. + + * parser.h (end_of_char): New function declared. + + * parser.l (grammar): Implement rules for #\ syntax, with + involving new HASH_BACKSLASH token. + (end_of_regex): Enhancement: added check that end_of_regex is + called in correct state, like the one in end_of_char. + (end_of_char): New function. + + * parser.y (repeat_rep_helper, o_elems_transform, define_transform, + lit_char_helper): Functions changed to static. + (rl): Function moved down, past the grammar section. + (HASH_BACKSLASH): New terminal symbol. + (chrlit): Grammar redesigned. + (char_from_name): New function. + + * txr.1: Character syntax documented. + 2011-11-14 Kaz Kylheku Bugfix: horizontal directives were being treated as vertical, -- cgit v1.2.3