From 92514021697a83be8332457b3dcc437f029ee786 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Sat, 26 Nov 2011 18:07:38 -0800 Subject: * parser.y (expr): Set source location info on elements. (strlit): Set location info. --- parser.y | 19 ++++++++++++------- 1 file changed, 12 insertions(+), 7 deletions(-) (limited to 'parser.y') diff --git a/parser.y b/parser.y index 7a5730ea..37d6af35 100644 --- a/parser.y +++ b/parser.y @@ -623,17 +623,21 @@ exprs_opt : exprs { $$ = $1; } | /* empty */ { $$ = nil; } ; -expr : IDENT { $$ = intern(string_own($1), nil); } - | KEYWORD { $$ = intern(string_own($1), - keyword_package); } +expr : IDENT { $$ = rl(intern(string_own($1), nil), + num(lineno)); } + | KEYWORD { $$ = rl(intern(string_own($1), + keyword_package), + num(lineno)); } | METAVAR { $$ = list(var_s, - intern(string_own($1), nil), nao); } + intern(string_own($1), nil), nao); + rl($$, num(lineno)); } | NUMBER { $$ = num($1); } | list { $$ = $1; } | meta_expr { $$ = $1; } | regex { $$ = cons(regex_compile(rest($1)), - rest($1)); } - | chrlit { $$ = $1; } + rest($1)); + rlcp($$, $1); } + | chrlit { $$ = rl($1, num(lineno)); } | strlit { $$ = $1; } | quasilit { $$ = $1; } ; @@ -714,7 +718,8 @@ newl : '\n' ; strlit : '"' '"' { $$ = null_string; } - | '"' litchars '"' { $$ = lit_char_helper($2); } + | '"' litchars '"' { $$ = lit_char_helper($2); + rl($$, num(lineno)); } | '"' error { $$ = nil; yybadtoken(yychar, lit("string literal")); } ; -- cgit v1.2.3