summaryrefslogtreecommitdiffhomepage
path: root/src/parse.y
diff options
context:
space:
mode:
authorYukihiro Matsumoto <[email protected]>2012-05-20 22:46:10 +0900
committerYukihiro Matsumoto <[email protected]>2012-05-20 22:46:10 +0900
commit0bba67626eba171f6ddbac3d384db28adf9da133 (patch)
tree42e1f25d17cd91a2e236417a96020706a19dc68c /src/parse.y
parentac31b58fe85363e6848cbbbdb6125cce1a2f6152 (diff)
downloadmruby-0bba67626eba171f6ddbac3d384db28adf9da133.tar.gz
mruby-0bba67626eba171f6ddbac3d384db28adf9da133.zip
waring refactoring; print line number
Diffstat (limited to 'src/parse.y')
-rw-r--r--src/parse.y13
1 files changed, 8 insertions, 5 deletions
diff --git a/src/parse.y b/src/parse.y
index 96f399fb0..e9348e7a1 100644
--- a/src/parse.y
+++ b/src/parse.y
@@ -1861,7 +1861,6 @@ primary : literal
}
| tLPAREN_ARG expr {p->lstate = EXPR_ENDARG;} rparen
{
- yywarning(p, "(...) interpreted as grouped expression");
$$ = $2;
}
| tLPAREN compstmt ')'
@@ -2949,8 +2948,12 @@ yywarn(parser_state *p, const char *s)
size_t n;
if (! p->capture_errors) {
- fputs(s, stderr);
- fputs("\n", stderr);
+ if (p->filename) {
+ fprintf(stderr, "%s:%d:%d: %s\n", p->filename, p->lineno, p->column+1, s);
+ }
+ else {
+ fprintf(stderr, "line %d:%d: %s\n", p->lineno, p->column+1, s);
+ }
}
else if (p->nerr < sizeof(p->warn_buffer) / sizeof(p->warn_buffer[0])) {
n = strlen(s);
@@ -2966,8 +2969,7 @@ yywarn(parser_state *p, const char *s)
static void
yywarning(parser_state *p, const char *s)
{
- fputs(s, stderr);
- fputs("\n", stderr);
+ yywarn(p, s);
}
static void
@@ -4190,6 +4192,7 @@ parser_yylex(parser_state *p)
}
else if (IS_SPCARG(-1)) {
c = tLPAREN_ARG;
+ yywarning(p, "(...) interpreted as grouped expression");
}
p->paren_nest++;
COND_PUSH(0);