]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
lex.c (yylex): Added STRICT_TK case.
authorTom Tromey <tromey@cygnus.com>
Mon, 20 Nov 2000 22:37:22 +0000 (22:37 +0000)
committerTom Tromey <tromey@gcc.gnu.org>
Mon, 20 Nov 2000 22:37:22 +0000 (22:37 +0000)
* lex.c (yylex): Added STRICT_TK case.
* parse.y (STRICT_TK): Added.
* parse-scan.y (STRICT_TK): Added.
* Make-lang.in ($(srcdir)/java/keyword.h): Added missing `\' and
`;'.  Use 4, not 3, with -k option.  Correctly rename resulting
file.
* keyword.h: Rebuilt.
* keyword.gperf (strictfp): Added.

From-SVN: r37594

gcc/java/ChangeLog
gcc/java/Make-lang.in
gcc/java/keyword.gperf
gcc/java/keyword.h
gcc/java/lex.c
gcc/java/parse-scan.y
gcc/java/parse.y

index 17883ef9f8432feb1f0d31593b0183febba55f43..f1275cbeba22972c1082140c4ea9fc116ca7a495 100644 (file)
@@ -1,3 +1,14 @@
+2000-11-20  Tom Tromey  <tromey@cygnus.com>
+
+       * lex.c (yylex): Added STRICT_TK case.
+       * parse.y (STRICT_TK): Added.
+       * parse-scan.y (STRICT_TK): Added.
+       * Make-lang.in ($(srcdir)/java/keyword.h): Added missing `\' and
+       `;'.  Use 4, not 3, with -k option.  Correctly rename resulting
+       file.
+       * keyword.h: Rebuilt.
+       * keyword.gperf (strictfp): Added.
+
 2000-11-20  Tom Tromey  <tromey@cygnus.com>
 
        * lex.c (yylex): Recognize floating point constants with leading
index b2ed5f6d7d11782f1020da23cdd862fadd888738..d01a1f0ba4420cd9177566adf47d85eab6e9d6cf 100644 (file)
@@ -89,12 +89,12 @@ $(srcdir)/java/parse-scan.c:  $(srcdir)/java/parse-scan.y
 
 $(srcdir)/java/keyword.h: $(srcdir)/java/keyword.gperf
        (cd $(srcdir)/java || exit 1; \
-       gperf -L C -F ', 0' -p -t -j1 -i 1 -g -o -N java_keyword -k1,3,$$ \
-               keyword.gperf > k$$$$.h || {
+       gperf -L C -F ', 0' -p -t -j1 -i 1 -g -o -N java_keyword -k1,4,$$ \
+               keyword.gperf > k$$$$.h || { \
        echo "Please update gperf from ftp://ftp.gnu.org/pub/gnu/gperf/" >&2; \
        rm -f k$$$$.h; \
-       exit 1; } \
-       mv -f k$$$$.h keyword.gperf)
+       exit 1; } \
+       mv -f k$$$$.h keyword.h)
 
 # Executables built by this Makefile:
 JAVA_OBJS = java/parse.o java/class.o java/decl.o java/expr.o \
index c8492a2f4acd47a58294535b1dd8a27187affbb6..643e5840a3aafb938b76ce07ebbea8cd033331fa 100644 (file)
@@ -82,6 +82,7 @@ continue, CONTINUE_TK
 goto, GOTO_TK
 package, PACKAGE_TK
 this, THIS_TK
+strictfp, STRICT_TK
 # true, false and null aren't keyword. But we match them easily this way
 true, TRUE_TK
 false, FALSE_TK
index 051f8b3ed3f9ea9f57f654ecd7645a5c969d1c67..d831dea5cb49773833e9d7dbfdcb507cedb2e74f 100644 (file)
@@ -1,5 +1,5 @@
-/* C code produced by gperf version 2.7.1 (19981006 egcs) */
-/* Command-line: gperf -L C -F , 0 -p -t -j1 -i 1 -g -o -N java_keyword -k1,3,$ keyword.gperf  */
+/* C code produced by gperf version 2.7 */
+/* Command-line: gperf -L C -F , 0 -p -t -j1 -i 1 -g -o -N java_keyword -k1,4,$ keyword.gperf  */
 /* Keyword definition for the GNU compiler for the Java(TM) language.
    Copyright (C) 1997, 1998 Free Software Foundation, Inc.
    Contributed by Alexandre Petit-Bianco (apbianco@cygnus.com)
@@ -35,12 +35,12 @@ __inline
 #endif
 struct java_keyword *java_keyword      PARAMS ((const char *, unsigned int));
 
-#define TOTAL_KEYWORDS 50
+#define TOTAL_KEYWORDS 51
 #define MIN_WORD_LENGTH 2
 #define MAX_WORD_LENGTH 12
-#define MIN_HASH_VALUE 6
-#define MAX_HASH_VALUE 86
-/* maximum key range = 81, duplicates = 0 */
+#define MIN_HASH_VALUE 7
+#define MAX_HASH_VALUE 95
+/* maximum key range = 89, duplicates = 0 */
 
 #ifdef __GNUC__
 __inline
@@ -52,40 +52,41 @@ hash (str, len)
 {
   static unsigned char asso_values[] =
     {
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 18, 37, 38,
-      27,  1, 30,  3, 12,  8, 87,  2, 11, 87,
-       8,  1,  5, 87, 24,  1,  1, 30,  2, 36,
-      87,  1, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87, 87, 87, 87, 87,
-      87, 87, 87, 87, 87, 87
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96,  9, 17,  3,
+       1,  1, 20, 13, 15, 29, 96, 21,  1, 96,
+      35, 39,  1, 96, 15,  6,  2,  1, 41, 17,
+      96,  7, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96, 96, 96, 96, 96,
+      96, 96, 96, 96, 96, 96
     };
   register int hval = len;
 
   switch (hval)
     {
       default:
+      case 4:
+        hval += asso_values[(unsigned char)str[3]];
       case 3:
-        hval += asso_values[(unsigned char)str[2]];
       case 2:
       case 1:
         hval += asso_values[(unsigned char)str[0]];
@@ -104,70 +105,71 @@ java_keyword (str, len)
 {
   static struct java_keyword wordlist[] =
     {
-      {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0},
-      {"try", TRY_TK},
+      {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0},
       {"else", ELSE_TK},
-      {"short", SHORT_TK},
-      {"goto", GOTO_TK},
+      {"true", TRUE_TK},
+      {"case", CASE_TK},
+      {"", 0},
+      {"public", PUBLIC_TK},
+      {"try", TRY_TK},
+      {"protected", PROTECTED_TK},
+      {"continue", CONTINUE_TK},
       {"extends", EXTENDS_TK},
-      {"", 0}, {"", 0},
-      {"int", INT_TK},
+      {"const", CONST_TK},
+      {"static", STATIC_TK},
       {"this", THIS_TK},
+      {"default", DEFAULT_TK},
+      {"class", CLASS_TK},
+      {"abstract", ABSTRACT_TK},
+      {"synchronized", SYNCHRONIZED_TK},
+      {"byte", BYTE_TK},
+      {"while", WHILE_TK},
+      {"double", DOUBLE_TK},
+      {"catch", CATCH_TK},
+      {"super", SUPER_TK},
+      {"short", SHORT_TK},
+      {"switch", SWITCH_TK},
+      {"package", PACKAGE_TK},
+      {"long", LONG_TK},
+      {"false", FALSE_TK},
+      {"", 0},
+      {"int", INT_TK},
+      {"final", FINAL_TK},
+      {"float", FLOAT_TK},
+      {"char", CHAR_TK},
+      {"for", FOR_TK},
       {"", 0},
-      {"native", NATIVE_TK},
-      {"", 0}, {"", 0},
       {"interface", INTERFACE_TK},
-      {"import", IMPORT_TK},
-      {"private", PRIVATE_TK},
-      {"volatile", VOLATILE_TK},
+      {"null", NULL_TK},
+      {"do", DO_TK},
+      {"finally", FINALLY_TK},
+      {"strictfp", STRICT_TK},
       {"", 0},
       {"implements", IMPLEMENTS_TK},
-      {"", 0},
-      {"long", LONG_TK},
-      {"switch", SWITCH_TK},
-      {"abstract", ABSTRACT_TK},
+      {"void", VOID_TK},
       {"transient", TRANSIENT_TK},
-      {"do", DO_TK},
       {"", 0},
+      {"private", PRIVATE_TK},
+      {"if", IF_TK},
+      {"break", BREAK_TK},
       {"throws", THROWS_TK},
       {"", 0},
-      {"null", NULL_TK},
-      {"super", SUPER_TK},
-      {"true", TRUE_TK},
-      {"float", FLOAT_TK},
+      {"new", NEW_TK},
       {"", 0},
       {"return", RETURN_TK},
-      {"if", IF_TK},
-      {"void", VOID_TK},
-      {"protected", PROTECTED_TK},
-      {"byte", BYTE_TK},
-      {"case", CASE_TK},
-      {"break", BREAK_TK},
-      {"finally", FINALLY_TK},
-      {"false", FALSE_TK},
-      {"synchronized", SYNCHRONIZED_TK},
-      {"instanceof", INSTANCEOF_TK},
-      {"while", WHILE_TK},
-      {"package", PACKAGE_TK},
-      {"const", CONST_TK},
+      {"", 0},
+      {"volatile", VOLATILE_TK},
       {"boolean", BOOLEAN_TK},
-      {"final", FINAL_TK},
-      {"continue", CONTINUE_TK},
-      {"catch", CATCH_TK},
-      {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0},
-      {"class", CLASS_TK},
-      {"static", STATIC_TK},
-      {"double", DOUBLE_TK},
-      {"default", DEFAULT_TK},
+      {"instanceof", INSTANCEOF_TK},
+      {"", 0},
       {"throw", THROW_TK},
+      {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0},
+      {"native", NATIVE_TK},
+      {"", 0}, {"", 0}, {"", 0}, {"", 0},
+      {"import", IMPORT_TK},
       {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0},
-      {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0},
-      {"for", FOR_TK},
-      {"", 0},
-      {"new", NEW_TK},
-      {"char", CHAR_TK},
-      {"", 0},
-      {"public", PUBLIC_TK}
+      {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0}, {"", 0},
+      {"goto", GOTO_TK}
     };
 
   if (len <= MAX_WORD_LENGTH && len >= MIN_WORD_LENGTH)
index eb4f1655be37544bd098dc5b80f66611fdf098d0..bb5e5b5aa928698d9d0a48121cb76187b87bd199 100644 (file)
@@ -1495,7 +1495,7 @@ java_lex (java_lval)
            case PUBLIC_TK:       case PROTECTED_TK: case STATIC_TK:
            case ABSTRACT_TK:     case FINAL_TK:     case NATIVE_TK:
            case SYNCHRONIZED_TK: case TRANSIENT_TK: case VOLATILE_TK:
-           case PRIVATE_TK:
+           case PRIVATE_TK:      case STRICT_TK:
              SET_MODIFIER_CTX (kw->token);
              return MODIFIER_TK;
            case FLOAT_TK:
index 2b8b78d75bc59436468584749c19b0a90508daf8..9207b9f6b79a1ff3857f7d8706c9c6d415867256 100644 (file)
@@ -140,6 +140,7 @@ static void pop_class_context PARAMS ((void));
 %token   STATIC_TK       FINAL_TK           SYNCHRONIZED_TK
 %token   VOLATILE_TK     TRANSIENT_TK       NATIVE_TK
 %token   PAD_TK          ABSTRACT_TK        MODIFIER_TK
+%token   STRICT_TK
 
 /* Keep those two in order, too */
 %token   DECR_TK INCR_TK
index c02648feb7f47604cc6e484c5b0b9b0a46e8a31f..1e92c2afde799d708b17db6830b6370b1de200c5 100644 (file)
@@ -463,6 +463,7 @@ static tree currently_caught_type_list;
 %token   STATIC_TK       FINAL_TK           SYNCHRONIZED_TK
 %token   VOLATILE_TK     TRANSIENT_TK       NATIVE_TK
 %token   PAD_TK          ABSTRACT_TK        MODIFIER_TK
+%token   STRICT_TK
 
 /* Keep those two in order, too */
 %token   DECR_TK INCR_TK