diff options
author | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-07-15 07:59:59 +0000 |
---|---|---|
committer | matz <matz@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 1999-07-15 07:59:59 +0000 |
commit | 86307f52ee1b3c5aa76e2fd6ee118e681dd76905 (patch) | |
tree | 4f5675ce901200d4245c6697d4e8d1c224949174 /regex.h | |
parent | e12510c502a3c8a81aeda66d1867eb1e760ce533 (diff) |
990715
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_3@497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'regex.h')
-rw-r--r-- | regex.h | 21 |
1 files changed, 21 insertions, 0 deletions
@@ -33,6 +33,7 @@ # define re_mbcinit ruby_re_mbcinit # define re_search ruby_re_search # define re_set_casetable ruby_re_set_casetable +# define register_info_type ruby_register_info_type #endif #include <stddef.h> @@ -90,6 +91,17 @@ void re_mbcinit (); #define ismbchar(c) re_mbctab[(unsigned char)(c)] #define mbclen(c) (re_mbctab[(unsigned char)(c)]+1) +/* Structure used in re_match() */ + +typedef union +{ + unsigned char *word; + struct { + unsigned is_active : 1; + unsigned matched_something : 1; + } bits; +} register_info_type; + /* This data structure is used to represent a compiled pattern. */ struct re_pattern_buffer @@ -116,6 +128,15 @@ struct re_pattern_buffer 2 as value means can match null string but at end of range or before a character listed in the fastmap. */ + + /* stack & working area for re_match() */ + unsigned char **regstart; + unsigned char **regend; + unsigned char **old_regstart; + unsigned char **old_regend; + register_info_type *reg_info; + unsigned char **best_regstart; + unsigned char **best_regend; }; typedef struct re_pattern_buffer regex_t; |