From b562825fc5b7555ec39c55dbcd002dde8cdfafec Mon Sep 17 00:00:00 2001 From: Raymond Lu Date: Tue, 16 May 2006 14:15:58 -0500 Subject: [svn-r12350] Purpose: Increase capacity Description: The default size for input buffer of Lex is only 8K. Some application has input string far bigger than it. Solution: Increase the size by defining YY_BUFFER_SIZE to be 256K (262144) in H5LTanalyze.l Platforms tested: fuss - simple change. --- hl/src/H5LTanalyze.c | 158 ++++++++++++++++++++++++++++----------------------- hl/src/H5LTanalyze.l | 1 + 2 files changed, 87 insertions(+), 72 deletions(-) diff --git a/hl/src/H5LTanalyze.c b/hl/src/H5LTanalyze.c index 6f775bb..c8aa65c 100644 --- a/hl/src/H5LTanalyze.c +++ b/hl/src/H5LTanalyze.c @@ -761,7 +761,20 @@ goto find_rule; \ char *yytext; #line 1 "H5LTanalyze.l" #define INITIAL 0 -#line 2 "H5LTanalyze.l" +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * + * Copyright by the Board of Trustees of the University of Illinois. * + * All rights reserved. * + * * + * This file is part of HDF5. The full HDF5 copyright notice, including * + * terms governing use, modification, and redistribution, is contained in * + * the files COPYING and Copyright.html. COPYING can be found at the root * + * of the source code distribution tree; Copyright.html can be found at the * + * root level of an installed copy of the electronic HDF5 document set and * + * is linked from the top-level documents page. It can also be found at * + * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * + * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * + * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +#line 16 "H5LTanalyze.l" #include #include #include @@ -771,6 +784,7 @@ int my_yyinput(char *, int); #undef YY_INPUT #define YY_INPUT(b, r, ms) (r=my_yyinput(b, ms)) #define token(x) (int)x +#define YY_BUF_SIZE 262144 /*Define read buffer to be 256K*/ extern char *myinput; extern int input_len; @@ -813,7 +827,7 @@ char *myinput;*/ #define TAG_STRING 1 -#line 796 "H5LTanalyze.c" +#line 810 "H5LTanalyze.c" /* Macros after this point can all be overridden by user definitions in * section 1. @@ -964,10 +978,10 @@ YY_DECL register char *yy_cp = NULL, *yy_bp = NULL; register int yy_act; -#line 55 "H5LTanalyze.l" +#line 70 "H5LTanalyze.l" -#line 950 "H5LTanalyze.c" +#line 964 "H5LTanalyze.c" if ( yy_init ) { @@ -1053,277 +1067,277 @@ do_action: /* This label is used only to access EOF actions. */ { /* beginning of action switch */ case 1: YY_RULE_SETUP -#line 57 "H5LTanalyze.l" +#line 72 "H5LTanalyze.l" {return token(H5T_STD_I8BE_TOKEN);} YY_BREAK case 2: YY_RULE_SETUP -#line 58 "H5LTanalyze.l" +#line 73 "H5LTanalyze.l" {return token(H5T_STD_I8LE_TOKEN);} YY_BREAK case 3: YY_RULE_SETUP -#line 59 "H5LTanalyze.l" +#line 74 "H5LTanalyze.l" {return token(H5T_STD_I16BE_TOKEN);} YY_BREAK case 4: YY_RULE_SETUP -#line 60 "H5LTanalyze.l" +#line 75 "H5LTanalyze.l" {return token(H5T_STD_I16LE_TOKEN);} YY_BREAK case 5: YY_RULE_SETUP -#line 61 "H5LTanalyze.l" +#line 76 "H5LTanalyze.l" {return token(H5T_STD_I32BE_TOKEN);} YY_BREAK case 6: YY_RULE_SETUP -#line 62 "H5LTanalyze.l" +#line 77 "H5LTanalyze.l" {return token(H5T_STD_I32LE_TOKEN);} YY_BREAK case 7: YY_RULE_SETUP -#line 63 "H5LTanalyze.l" +#line 78 "H5LTanalyze.l" {return token(H5T_STD_I64BE_TOKEN);} YY_BREAK case 8: YY_RULE_SETUP -#line 64 "H5LTanalyze.l" +#line 79 "H5LTanalyze.l" {return token(H5T_STD_I64LE_TOKEN);} YY_BREAK case 9: YY_RULE_SETUP -#line 66 "H5LTanalyze.l" +#line 81 "H5LTanalyze.l" {return token(H5T_STD_U8BE_TOKEN);} YY_BREAK case 10: YY_RULE_SETUP -#line 67 "H5LTanalyze.l" +#line 82 "H5LTanalyze.l" {return token(H5T_STD_U8LE_TOKEN);} YY_BREAK case 11: YY_RULE_SETUP -#line 68 "H5LTanalyze.l" +#line 83 "H5LTanalyze.l" {return token(H5T_STD_U16BE_TOKEN);} YY_BREAK case 12: YY_RULE_SETUP -#line 69 "H5LTanalyze.l" +#line 84 "H5LTanalyze.l" {return token(H5T_STD_U16LE_TOKEN);} YY_BREAK case 13: YY_RULE_SETUP -#line 70 "H5LTanalyze.l" +#line 85 "H5LTanalyze.l" {return token(H5T_STD_U32BE_TOKEN);} YY_BREAK case 14: YY_RULE_SETUP -#line 71 "H5LTanalyze.l" +#line 86 "H5LTanalyze.l" {return token(H5T_STD_U32LE_TOKEN);} YY_BREAK case 15: YY_RULE_SETUP -#line 72 "H5LTanalyze.l" +#line 87 "H5LTanalyze.l" {return token(H5T_STD_U64BE_TOKEN);} YY_BREAK case 16: YY_RULE_SETUP -#line 73 "H5LTanalyze.l" +#line 88 "H5LTanalyze.l" {return token(H5T_STD_U64LE_TOKEN);} YY_BREAK case 17: YY_RULE_SETUP -#line 75 "H5LTanalyze.l" +#line 90 "H5LTanalyze.l" {return token(H5T_NATIVE_CHAR_TOKEN);} YY_BREAK case 18: YY_RULE_SETUP -#line 76 "H5LTanalyze.l" +#line 91 "H5LTanalyze.l" {return token(H5T_NATIVE_SCHAR_TOKEN);} YY_BREAK case 19: YY_RULE_SETUP -#line 77 "H5LTanalyze.l" +#line 92 "H5LTanalyze.l" {return token(H5T_NATIVE_UCHAR_TOKEN);} YY_BREAK case 20: YY_RULE_SETUP -#line 78 "H5LTanalyze.l" +#line 93 "H5LTanalyze.l" {return token(H5T_NATIVE_SHORT_TOKEN);} YY_BREAK case 21: YY_RULE_SETUP -#line 79 "H5LTanalyze.l" +#line 94 "H5LTanalyze.l" {return token(H5T_NATIVE_USHORT_TOKEN);} YY_BREAK case 22: YY_RULE_SETUP -#line 80 "H5LTanalyze.l" +#line 95 "H5LTanalyze.l" {return token(H5T_NATIVE_INT_TOKEN);} YY_BREAK case 23: YY_RULE_SETUP -#line 81 "H5LTanalyze.l" +#line 96 "H5LTanalyze.l" {return token(H5T_NATIVE_UINT_TOKEN);} YY_BREAK case 24: YY_RULE_SETUP -#line 82 "H5LTanalyze.l" +#line 97 "H5LTanalyze.l" {return token(H5T_NATIVE_LONG_TOKEN);} YY_BREAK case 25: YY_RULE_SETUP -#line 83 "H5LTanalyze.l" +#line 98 "H5LTanalyze.l" {return token(H5T_NATIVE_ULONG_TOKEN);} YY_BREAK case 26: YY_RULE_SETUP -#line 84 "H5LTanalyze.l" +#line 99 "H5LTanalyze.l" {return token(H5T_NATIVE_LLONG_TOKEN);} YY_BREAK case 27: YY_RULE_SETUP -#line 85 "H5LTanalyze.l" +#line 100 "H5LTanalyze.l" {return token(H5T_NATIVE_ULLONG_TOKEN);} YY_BREAK case 28: YY_RULE_SETUP -#line 87 "H5LTanalyze.l" +#line 102 "H5LTanalyze.l" {return token(H5T_IEEE_F32BE_TOKEN);} YY_BREAK case 29: YY_RULE_SETUP -#line 88 "H5LTanalyze.l" +#line 103 "H5LTanalyze.l" {return token(H5T_IEEE_F32LE_TOKEN);} YY_BREAK case 30: YY_RULE_SETUP -#line 89 "H5LTanalyze.l" +#line 104 "H5LTanalyze.l" {return token(H5T_IEEE_F64BE_TOKEN);} YY_BREAK case 31: YY_RULE_SETUP -#line 90 "H5LTanalyze.l" +#line 105 "H5LTanalyze.l" {return token(H5T_IEEE_F64LE_TOKEN);} YY_BREAK case 32: YY_RULE_SETUP -#line 91 "H5LTanalyze.l" +#line 106 "H5LTanalyze.l" {return token(H5T_NATIVE_FLOAT_TOKEN);} YY_BREAK case 33: YY_RULE_SETUP -#line 92 "H5LTanalyze.l" +#line 107 "H5LTanalyze.l" {return token(H5T_NATIVE_DOUBLE_TOKEN);} YY_BREAK case 34: YY_RULE_SETUP -#line 93 "H5LTanalyze.l" +#line 108 "H5LTanalyze.l" {return token(H5T_NATIVE_LDOUBLE_TOKEN);} YY_BREAK case 35: YY_RULE_SETUP -#line 95 "H5LTanalyze.l" +#line 110 "H5LTanalyze.l" {return token(H5T_STRING_TOKEN);} YY_BREAK case 36: YY_RULE_SETUP -#line 96 "H5LTanalyze.l" +#line 111 "H5LTanalyze.l" {return token(STRSIZE_TOKEN);} YY_BREAK case 37: YY_RULE_SETUP -#line 97 "H5LTanalyze.l" +#line 112 "H5LTanalyze.l" {return token(STRPAD_TOKEN);} YY_BREAK case 38: YY_RULE_SETUP -#line 98 "H5LTanalyze.l" +#line 113 "H5LTanalyze.l" {return token(CSET_TOKEN);} YY_BREAK case 39: YY_RULE_SETUP -#line 99 "H5LTanalyze.l" +#line 114 "H5LTanalyze.l" {return token(CTYPE_TOKEN);} YY_BREAK case 40: YY_RULE_SETUP -#line 100 "H5LTanalyze.l" +#line 115 "H5LTanalyze.l" {return token(H5T_STR_NULLTERM_TOKEN);} YY_BREAK case 41: YY_RULE_SETUP -#line 101 "H5LTanalyze.l" +#line 116 "H5LTanalyze.l" {return token(H5T_STR_NULLPAD_TOKEN);} YY_BREAK case 42: YY_RULE_SETUP -#line 102 "H5LTanalyze.l" +#line 117 "H5LTanalyze.l" {return token(H5T_STR_SPACEPAD_TOKEN);} YY_BREAK case 43: YY_RULE_SETUP -#line 103 "H5LTanalyze.l" +#line 118 "H5LTanalyze.l" {return token(H5T_CSET_ASCII_TOKEN);} YY_BREAK case 44: YY_RULE_SETUP -#line 104 "H5LTanalyze.l" +#line 119 "H5LTanalyze.l" {return token(H5T_CSET_UTF8_TOKEN);} YY_BREAK case 45: YY_RULE_SETUP -#line 105 "H5LTanalyze.l" +#line 120 "H5LTanalyze.l" {return token(H5T_C_S1_TOKEN);} YY_BREAK case 46: YY_RULE_SETUP -#line 106 "H5LTanalyze.l" +#line 121 "H5LTanalyze.l" {return token(H5T_FORTRAN_S1_TOKEN);} YY_BREAK case 47: YY_RULE_SETUP -#line 107 "H5LTanalyze.l" +#line 122 "H5LTanalyze.l" {return token(H5T_VARIABLE_TOKEN);} YY_BREAK case 48: YY_RULE_SETUP -#line 109 "H5LTanalyze.l" +#line 124 "H5LTanalyze.l" {return token(H5T_COMPOUND_TOKEN);} YY_BREAK case 49: YY_RULE_SETUP -#line 110 "H5LTanalyze.l" +#line 125 "H5LTanalyze.l" {return token(H5T_ENUM_TOKEN);} YY_BREAK case 50: YY_RULE_SETUP -#line 111 "H5LTanalyze.l" +#line 126 "H5LTanalyze.l" {return token(H5T_ARRAY_TOKEN);} YY_BREAK case 51: YY_RULE_SETUP -#line 112 "H5LTanalyze.l" +#line 127 "H5LTanalyze.l" {return token(H5T_VLEN_TOKEN);} YY_BREAK case 52: YY_RULE_SETUP -#line 114 "H5LTanalyze.l" +#line 129 "H5LTanalyze.l" {return token(H5T_OPAQUE_TOKEN);} YY_BREAK case 53: YY_RULE_SETUP -#line 115 "H5LTanalyze.l" +#line 130 "H5LTanalyze.l" {return token(OPQ_SIZE_TOKEN);} YY_BREAK case 54: YY_RULE_SETUP -#line 116 "H5LTanalyze.l" +#line 131 "H5LTanalyze.l" {return token(OPQ_TAG_TOKEN);} YY_BREAK case 55: YY_RULE_SETUP -#line 118 "H5LTanalyze.l" +#line 133 "H5LTanalyze.l" { if( is_str_size || (is_enum && is_enum_memb) || is_opq_size || (asindex>-1 && arr_stack[asindex].is_dim) || @@ -1336,7 +1350,7 @@ YY_RULE_SETUP YY_BREAK case 56: YY_RULE_SETUP -#line 128 "H5LTanalyze.l" +#line 143 "H5LTanalyze.l" { /*if it's first quote, and is a compound field name or an enum symbol*/ if((is_opq_tag || is_enum || (csindex>-1 && cmpd_stack[csindex].is_field)) @@ -1350,7 +1364,7 @@ YY_RULE_SETUP YY_BREAK case 57: YY_RULE_SETUP -#line 138 "H5LTanalyze.l" +#line 153 "H5LTanalyze.l" { yylval.sval = strdup(yytext); BEGIN INITIAL; @@ -1359,50 +1373,50 @@ YY_RULE_SETUP YY_BREAK case 58: YY_RULE_SETUP -#line 144 "H5LTanalyze.l" +#line 159 "H5LTanalyze.l" {return token('{');} YY_BREAK case 59: YY_RULE_SETUP -#line 145 "H5LTanalyze.l" +#line 160 "H5LTanalyze.l" {return token('}');} YY_BREAK case 60: YY_RULE_SETUP -#line 146 "H5LTanalyze.l" +#line 161 "H5LTanalyze.l" {return token('[');} YY_BREAK case 61: YY_RULE_SETUP -#line 147 "H5LTanalyze.l" +#line 162 "H5LTanalyze.l" {return token(']');} YY_BREAK case 62: YY_RULE_SETUP -#line 148 "H5LTanalyze.l" +#line 163 "H5LTanalyze.l" {return token(':');} YY_BREAK case 63: YY_RULE_SETUP -#line 149 "H5LTanalyze.l" +#line 164 "H5LTanalyze.l" {return token(';');} YY_BREAK case 64: YY_RULE_SETUP -#line 150 "H5LTanalyze.l" +#line 165 "H5LTanalyze.l" ; YY_BREAK case 65: YY_RULE_SETUP -#line 151 "H5LTanalyze.l" +#line 166 "H5LTanalyze.l" { return 0; } YY_BREAK case 66: YY_RULE_SETUP -#line 153 "H5LTanalyze.l" +#line 168 "H5LTanalyze.l" ECHO; YY_BREAK -#line 1385 "H5LTanalyze.c" +#line 1399 "H5LTanalyze.c" case YY_STATE_EOF(INITIAL): case YY_STATE_EOF(TAG_STRING): yyterminate(); @@ -2278,7 +2292,7 @@ int main() return 0; } #endif -#line 153 "H5LTanalyze.l" +#line 168 "H5LTanalyze.l" int my_yyinput(char *buf, int max_size) { diff --git a/hl/src/H5LTanalyze.l b/hl/src/H5LTanalyze.l index 7440a29..97cde91 100644 --- a/hl/src/H5LTanalyze.l +++ b/hl/src/H5LTanalyze.l @@ -22,6 +22,7 @@ int my_yyinput(char *, int); #undef YY_INPUT #define YY_INPUT(b, r, ms) (r=my_yyinput(b, ms)) #define token(x) (int)x +#define YY_BUF_SIZE 262144 /*Define read buffer to be 256K*/ extern char *myinput; extern int input_len; -- cgit v0.12