ruby-trunk-changes r56009 - r56017

今日は主に parse.y のリファクタリングがありました。

nobu: r56009 2016-08-26 17:29:17 +0900

parse.y の regex のルールの処理を new_regexp_gen() という関数に切り出すリファクタリング。ルール部で ripper 用と parser 用の分岐を不要にしています(同名で別の関数が定義されるように preprocessor で分岐している)。

svn: r56010 2016-08-26 17:29:18 +0900

version.h の日付更新。

nobu: r56011 2016-08-26 17:29:18 +0900

parse.y の xstring のルールの処理も new_xstring_gen() という関数に切り出すリファクタリング

nobu: r56012 2016-08-26 17:29:22 +0900

parse.y の string1 の処理の内容を new_string1() というマクロにしてルール部で ripper 用とそれ以外の分岐をしなくてすむようにしています。

nobu: r56013 2016-08-26 17:29:23 +0900

parse.y の parser_heredoc_dedent() で戻り値に渡した引数をそのまま返すようにして heredoc_indent の 0 へのリセットも関数内で行うようにしています。

nobu: r56014 2016-08-27 00:07:51 +0900

parser_parse_string() からクオートの終端を検出した時に tSTRING_END を返すか tREGEXP_END を返すかの反転部分を parser_string_term() という関数に切り出すリファクタリング

svn: r56015 2016-08-27 00:07:52 +0900

version.h の日付更新。

nobu: r56016 2016-08-27 00:11:32 +0900

r56014 で切り出した parser_parse_string() で struct NODE の nd_func メンバ(マクロで u1.id に展開されてた)を参照していたクオートの種類を u2.id に格納するように変更しています。

nobu: r56017 2016-08-27 01:08:40 +0900

test/ruby/enc/test_regex_casefold.rb で setup 時の例外発生時にエラーではなく skip 扱いにするようにしています。