Commit a5ac8bef by Richard Kenner

(yylex): Use is_space, not is_hor_space, to find keyword end.

(is_space): New decl.
(is_hor_space): Removed.

From-SVN: r13654
parent 14053679
...@@ -153,7 +153,7 @@ static int keyword_parsing = 0; ...@@ -153,7 +153,7 @@ static int keyword_parsing = 0;
static int skip_evaluation; static int skip_evaluation;
/* some external tables of character types */ /* some external tables of character types */
extern unsigned char is_idstart[], is_idchar[], is_hor_space[]; extern unsigned char is_idstart[], is_idchar[], is_space[];
/* Flag for -pedantic. */ /* Flag for -pedantic. */
extern int pedantic; extern int pedantic;
...@@ -846,7 +846,7 @@ yylex () ...@@ -846,7 +846,7 @@ yylex ()
if (keyword_parsing) { if (keyword_parsing) {
for (namelen = 0;; namelen++) { for (namelen = 0;; namelen++) {
if (is_hor_space[tokstart[namelen]]) if (is_space[tokstart[namelen]])
break; break;
if (tokstart[namelen] == '(' || tokstart[namelen] == ')') if (tokstart[namelen] == '(' || tokstart[namelen] == ')')
break; break;
...@@ -1108,9 +1108,8 @@ main (argc, argv) ...@@ -1108,9 +1108,8 @@ main (argc, argv)
unsigned char is_idchar[256]; unsigned char is_idchar[256];
/* table to tell if char can be first char of a c identifier. */ /* table to tell if char can be first char of a c identifier. */
unsigned char is_idstart[256]; unsigned char is_idstart[256];
/* table to tell if c is horizontal space. isspace () thinks that /* table to tell if c is horizontal or vertical space. */
newline is space; this is not a good idea for this program. */ unsigned char is_space[256];
unsigned char is_hor_space[256];
/* /*
* initialize random junk in the hash table and maybe other places * initialize random junk in the hash table and maybe other places
...@@ -1139,9 +1138,12 @@ initialize_random_junk () ...@@ -1139,9 +1138,12 @@ initialize_random_junk ()
++is_idchar['$']; ++is_idchar['$'];
++is_idstart['$']; ++is_idstart['$'];
/* horizontal space table */ ++is_space[' '];
++is_hor_space[' ']; ++is_space['\t'];
++is_hor_space['\t']; ++is_space['\v'];
++is_space['\f'];
++is_space['\n'];
++is_space['\r'];
} }
void void
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment