summaryrefslogtreecommitdiffstats
path: root/parser.l
diff options
context:
space:
mode:
authorKaz Kylheku <kaz@kylheku.com>2011-12-06 15:40:47 -0800
committerKaz Kylheku <kaz@kylheku.com>2011-12-06 15:40:47 -0800
commit6f051c69587d159cafbb6bcf79ba245e8ca0d6c0 (patch)
tree9f32f483a41807787a4c6b864d65404de4fd043d /parser.l
parent6cf90c4dc732318823adf7ec96e88e9e7772d4cf (diff)
downloadtxr-6f051c69587d159cafbb6bcf79ba245e8ca0d6c0.tar.gz
txr-6f051c69587d159cafbb6bcf79ba245e8ca0d6c0.tar.bz2
txr-6f051c69587d159cafbb6bcf79ba245e8ca0d6c0.zip
* eval.c (op_unwind_protect): Fixed uninitialized variable
warning. (eval_init): New functions registered: typeof and vector functions, as well as length_list. * lib.c (length): Function renamed to length_list, because it is list specific. (length_vec, size_vec, vector_list): New functions. (length): New function, generic over lists, vectors and strings. * lib.h (length_list, length_vec, size_vec, vector_list): Declared. * match.c (h_var, h_fun, robust_length, v_deffilter, v_fun): Use length_list instead of length. * parser.l: Introduced # token. * parser.y (vector): New nonterminal. (expr): vector is a kind of expr. (chrlist): Bugfix: single-character syntax was not working; for instance #\x to denote the charcter x. (lit_char_helper): Use length_list instead of length. * stream.c (string_in_get_line): Bugfix: this was using the wrong length function: length was being applied to a string. The genericity of length makes that correct now, but changing to length_str anyway. * txr.1: Blank sections created for functions. Vector syntax documented.
Diffstat (limited to 'parser.l')
-rw-r--r--parser.l4
1 files changed, 4 insertions, 0 deletions
diff --git a/parser.l b/parser.l
index cee0d834..e22c6d74 100644
--- a/parser.l
+++ b/parser.l
@@ -403,6 +403,10 @@ UONLY {U2}{U}|{U3}{U}{U}|{U4}{U}{U}{U}
return '`';
}
+<NESTED># {
+ return '#';
+ }
+
<SPECIAL>@ {
yy_pop_state();
yylval.lexeme = chk_strdup(L"@");