Граф коммитов

18 Коммитов

Автор SHA1 Сообщение Дата
Nobuyoshi Nakada 1213623e5c
Use gperf 3.1 to generate ANSI-C code 2024-06-24 23:43:45 +09:00
卜部昌平 45741918e1 reserved_word: just use gperf 3.1 declaration
The reason why this was commented out was because of gperf 3.0 vs 3.1
differences (see [Feature #13883]).  Five years passed, I am pretty
confident that we can drop support of old versions here.

Ditto for uniname2ctype_p(), onig_jis_property(), and zonetab().
2022-09-21 11:44:09 +09:00
nobu 415c334092 keywords: shrink struct kwtable
* defs/keywords (struct kwtable): shrink since members do not
  exceed 16bit.  lex_state needs to be int (or enum lex_state_e)
  when EXPR_MAX_STATE reaches it.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62001 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2018-01-21 09:59:45 +00:00
nobu 7c4306e6e9 gperf.sed: static declarations
* tool/gperf.sed: comment out arguments part only, to keep the
  following declarations static.  [Feature #13883]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61282 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-15 14:42:43 +00:00
nobu a4804fbdf5 support gperf 3.1
* tool/gperf.sed: extracted sed commands to a script.  ANSI-C code
  produced by gperf 3.1 declares length arguments as `size_t`.  it
  causes conflict with existing declarations, and needs casts for
  a local variable and return statements.
  [Feature #13883]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61076 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2017-12-08 05:51:19 +00:00
nobu cb65717b45 parse.y: symbol literals for alias/undef
* defs/keywords (alias, undef): symbol literals are allowed.
* parse.y (parse_percent): should parse symbol literals for alias
  and undef.  [ruby-dev:47681] [Bug #8851]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54131 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-03-16 14:10:27 +00:00
nobu 16e613fcc3 lex.c.blt: update
* lex.c.blt: follows r52429, not removing casts to int.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53753 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2016-02-06 12:02:09 +00:00
nobu b907c6e925 keywords: make name singed
* defs/keywords (kwtable::name): turn into singed int, as gperf
  fills invalid slots with -1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@52429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-11-02 23:08:26 +00:00
nobu 26be081f1b Makefile.in: PIC lex.c
* Makefile.in (lex.c): make position independent table.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@51333 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2015-07-22 00:37:09 +00:00
nobu 78e376a3ee * defs/keywords (reserved_word): made inline function static.
[ruby-core:23210]

* parse.y (rb_reserved_word): ordinary function for ripper.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23436 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2009-05-16 00:30:16 +00:00
matz 89080e0254 * parse.y (primary): make functional-style not operator to act
like function.  see <http://d.hatena.ne.jp/ku-ma-me/20080624/p1>.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@17573 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-06-25 12:55:47 +00:00
nobu 075530a685 * suppress warnings with -Wwrite-string.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@16716 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2008-05-31 09:28:20 +00:00
matz 3410fd6812 * README.EXT.ja, dir.c, eval.c, eval_intern.h, lex.c.src,
lex.c.blt, keywords, load.c, thread.c: more ANSI'ize.
  a patch from Tadashi Saito <shiba AT mail2.accsnet.ne.jp>
  in [ruby-dev:32725]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14655 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-25 04:17:06 +00:00
nobu 9fbc6596cc * keywords, parse.y (__ENCODING__): represent script encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@14384 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-12-21 03:22:22 +00:00
akr 9829e14432 * lex.c.blt: moved from lex.c.
* lex.c.src: copied from keywords.  This is the source of lex.c.blt.

* Makefile.in (lex.c): use lex.c.blt if keywords is same as lex.c.src.

* win32/Makefile.sub (lex.c): re-introduce copy rule.

* bcc32/Makefile.sub (lex.c): ditto.

* wince/Makefile.sub (lex.c): ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13906 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-13 06:29:49 +00:00
akr c5335ee110 * lex.c: renamed from lex.c.blt.
* Makefile.in (lex.c): use find command to check mtime.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13876 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-11 07:56:30 +00:00
akr a30fe695e6 * keywords: enclose C code in declaration section by %{ and %}.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12551 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-15 11:50:45 +00:00
akr c571d4702e * lex.c.blt: moved from lex.c.
* Makefile.in: use lex.c.blt if gperf is not available.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12472 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-06-08 02:56:12 +00:00