diff options
author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-01-05 11:35:24 +0000 |
---|---|---|
committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-01-05 11:35:24 +0000 |
commit | 59f59f82d42e32980694ae7b8cd2b55384eb5918 (patch) | |
tree | f8f52819ed5ef74a9779902e2e2459d04bf210f3 | |
parent | 56a6dd66d4deff3edc2af09271c50619a05cf1ea (diff) | |
download | ruby-59f59f82d42e32980694ae7b8cd2b55384eb5918.tar.gz |
parse.y: refine error messages
* parse.y: refine error messages for tSYMBEG and tSTRING_BEG, which
can appear at invalid places.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@66722 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | parse.y | 4 | ||||
-rw-r--r-- | test/ruby/test_syntax.rb | 5 |
2 files changed, 8 insertions, 1 deletions
@@ -900,7 +900,9 @@ static void token_info_warn(struct parser_params *p, const char *token, token_in %token tDSTAR "**arg" %token tAMPER "&" %token tLAMBDA "->" -%token tSYMBEG tSTRING_BEG tXSTRING_BEG tREGEXP_BEG tWORDS_BEG tQWORDS_BEG tSYMBOLS_BEG tQSYMBOLS_BEG +%token tSYMBEG "symbol literal" +%token tSTRING_BEG "string literal" +%token tXSTRING_BEG tREGEXP_BEG tWORDS_BEG tQWORDS_BEG tSYMBOLS_BEG tQSYMBOLS_BEG %token tSTRING_DBEG tSTRING_DEND tSTRING_DVAR tSTRING_END tLAMBEG tLABEL_END /* diff --git a/test/ruby/test_syntax.rb b/test/ruby/test_syntax.rb index 5534056327..8cbb05a449 100644 --- a/test/ruby/test_syntax.rb +++ b/test/ruby/test_syntax.rb @@ -905,6 +905,11 @@ eom assert_syntax_error(":#\n foo", /unexpected ':'/) end + def test_invalid_literal_message + assert_syntax_error("def :foo", /unexpected symbol literal/) + assert_syntax_error("def 'foo'", /unexpected string literal/) + end + def test_fluent_dot assert_valid_syntax("a\n.foo") assert_valid_syntax("a\n&.foo") |