diff --git a/utils/h2pas/options.pas b/utils/h2pas/options.pas index 3925d7b8d2..daf17515b9 100644 --- a/utils/h2pas/options.pas +++ b/utils/h2pas/options.pas @@ -92,6 +92,17 @@ begin MaybeExtension:=Hstr; end; +function ExtractFileName(const AFilePath : String): String; +var i : Integer; +begin + i := Length(AFilePath); + while (i>0) and (AFilePath[i]<>DirectorySeparator) and + (AFilePath[i]<>DriveSeparator) do + begin + Dec(i); + end; + ExtractFileName := Copy(AFilePath,i+1,Length(AFilePath)); +end; {***************************************************************************** Options @@ -232,11 +243,10 @@ begin Usage; if UnitName='' then begin - i:=pos('.',outputfilename)-1; - if i<=0 then - UnitName:=outputfilename - else - UnitName:=Copy(OutputFileName,1,i); + UnitName := ExtractFileName(outputfilename); + i:=pos('.',UnitName)-1; + if i>0 then + UnitName:=Copy(UnitName,1,i); end; end; diff --git a/utils/h2pas/scan.l b/utils/h2pas/scan.l index 8ddd88fe32..8542a929e5 100644 --- a/utils/h2pas/scan.l +++ b/utils/h2pas/scan.l @@ -801,31 +801,31 @@ D [0-9] end; "void" if NotInCPlusBlock then return(VOID) else skip_until_eol; "VOID" if NotInCPlusBlock then return(VOID) else skip_until_eol; -"#ifdef __cplusplus"[ \t]*\n"extern \"C\" {"\n"#endif" +"#ifdef"[ \t]*"__cplusplus"[ \t]*\n"extern \"C\" {"\n"#endif" begin if not stripinfo then writeln(outfile,'{ C++ extern C conditionnal removed }'); end; -"#ifdef cplusplus"[ \t]*\n"extern \"C\" {"\n"#endif" +"#ifdef"[ \t]*"cplusplus"[ \t]*\n"extern \"C\" {"\n"#endif" begin if not stripinfo then writeln(outfile,'{ C++ extern C conditionnal removed }'); end; -"#ifdef __cplusplus"[ \t]*\n"}"\n"#endif" +"#ifdef"[ \t]*"__cplusplus"[ \t]*\n"}"\n"#endif" begin if not stripinfo then writeln(outfile,'{ C++ end of extern C conditionnal removed }'); end; -"#ifdef cplusplus"[ \t]*\n"}"\n"#endif" +"#ifdef"[ \t]*"cplusplus"[ \t]*\n"}"\n"#endif" begin if not stripinfo then writeln(outfile,'{ C++ end of extern C conditionnal removed }'); end; -"#ifdef cplusplus"[ \t]* +"#ifdef"[ \t]*"cplusplus"[ \t]* begin Inc(cplusblocklevel); end; -"#ifdef __cplusplus"[ \t]* +"#ifdef"[ \t]*"__cplusplus"[ \t]* begin Inc(cplusblocklevel); end; @@ -1081,3 +1081,4 @@ end. + diff --git a/utils/h2pas/scan.pas b/utils/h2pas/scan.pas index 8e6977c7ad..931d3f1a46 100644 --- a/utils/h2pas/scan.pas +++ b/utils/h2pas/scan.pas @@ -859,36 +859,36 @@ begin 49: if NotInCPlusBlock then return(VOID) else skip_until_eol; 50: - + begin if not stripinfo then writeln(outfile,'{ C++ extern C conditionnal removed }'); end; 51: - + begin if not stripinfo then writeln(outfile,'{ C++ extern C conditionnal removed }'); end; 52: - + begin if not stripinfo then writeln(outfile,'{ C++ end of extern C conditionnal removed }'); end; 53: - + begin if not stripinfo then writeln(outfile,'{ C++ end of extern C conditionnal removed }'); end; 54: - + begin Inc(cplusblocklevel); end; 55: - + begin Inc(cplusblocklevel); end; @@ -1191,9 +1191,9 @@ type YYTRec = record const -yynmarks = 344; -yynmatches = 344; -yyntrans = 637; +yynmarks = 343; +yynmatches = 343; +yyntrans = 642; yynstates = 369; yyk : array [1..yynmarks] of Integer = ( @@ -1778,16 +1778,14 @@ yyk : array [1..yynmarks] of Integer = ( { 271: } 56, { 272: } - 56, { 273: } { 274: } - 65, { 275: } - 66, + 65, { 276: } - 39, - 97, + 66, { 277: } + 39, 97, { 278: } 97, @@ -1798,42 +1796,43 @@ yyk : array [1..yynmarks] of Integer = ( { 281: } 97, { 282: } - 73, 97, { 283: } - 80, + 73, 97, { 284: } - 81, + 80, 97, { 285: } - 82, + 81, 97, { 286: } + 82, + 97, { 287: } { 288: } - 62, { 289: } + { 290: } + 62, + { 291: } 44, 97, - { 290: } + { 292: } 46, 97, - { 291: } - 97, - { 292: } - 47, - 97, { 293: } - 78, 97, { 294: } - { 295: } - { 296: } - 45, + 47, 97, + { 295: } + 78, + 97, + { 296: } { 297: } { 298: } + 45, + 97, { 299: } { 300: } { 301: } @@ -2494,16 +2493,14 @@ yym : array [1..yynmatches] of Integer = ( { 271: } 56, { 272: } - 56, { 273: } { 274: } - 65, { 275: } - 66, + 65, { 276: } - 39, - 97, + 66, { 277: } + 39, 97, { 278: } 97, @@ -2514,42 +2511,43 @@ yym : array [1..yynmatches] of Integer = ( { 281: } 97, { 282: } - 73, 97, { 283: } - 80, + 73, 97, { 284: } - 81, + 80, 97, { 285: } - 82, + 81, 97, { 286: } + 82, + 97, { 287: } { 288: } - 62, { 289: } +{ 290: } + 62, +{ 291: } 44, 97, -{ 290: } +{ 292: } 46, 97, -{ 291: } - 97, -{ 292: } - 47, - 97, { 293: } - 78, 97, { 294: } -{ 295: } -{ 296: } - 45, + 47, 97, +{ 295: } + 78, + 97, +{ 296: } { 297: } { 298: } + 45, + 97, { 299: } { 300: } { 301: } @@ -3385,28 +3383,29 @@ yyt : array [1..yyntrans] of YYTrec = ( { 246: } ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 247: } - ( cc: [ #9 ]; s: 272), - ( cc: [ ' ' ]; s: 271), + ( cc: [ #9,' ' ]; s: 271), + ( cc: [ '_' ]; s: 272), + ( cc: [ 'c' ]; s: 273), { 248: } - ( cc: [ 'd' ]; s: 273), + ( cc: [ 'd' ]; s: 274), { 249: } { 250: } { 251: } { 252: } - ( cc: [ 'a' ]; s: 274), + ( cc: [ 'a' ]; s: 275), { 253: } - ( cc: [ 'e' ]; s: 275), + ( cc: [ 'e' ]; s: 276), { 254: } ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 255: } ( cc: [ '0'..'9','A'..'K','M'..'Z','_','a'..'z' ]; s: 65), - ( cc: [ 'L' ]; s: 276), + ( cc: [ 'L' ]; s: 277), { 256: } ( cc: [ '0'..'9','B'..'Z','_','a'..'z' ]; s: 65), - ( cc: [ 'A' ]; s: 277), + ( cc: [ 'A' ]; s: 278), { 257: } ( cc: [ '0'..'9','A','B','D'..'Z','_','a'..'z' ]; s: 65), - ( cc: [ 'C' ]; s: 278), + ( cc: [ 'C' ]; s: 279), { 258: } ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 259: } @@ -3415,58 +3414,60 @@ yyt : array [1..yyntrans] of YYTrec = ( ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 261: } ( cc: [ '0'..'9','B'..'Z','_','a'..'z' ]; s: 65), - ( cc: [ 'A' ]; s: 279), + ( cc: [ 'A' ]; s: 280), { 262: } ( cc: [ '0'..'9','A'..'Q','S'..'Z','_','a'..'z' ]; s: 65), - ( cc: [ 'R' ]; s: 280), + ( cc: [ 'R' ]; s: 281), { 263: } ( cc: [ '0'..'9','A'..'Z','_','a'..'d','f'..'z' ]; s: 65), - ( cc: [ 'e' ]; s: 281), + ( cc: [ 'e' ]; s: 282), { 264: } ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 265: } ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 266: } ( cc: [ '0'..'9','A'..'Z','_','a'..'e','g'..'z' ]; s: 65), - ( cc: [ 'f' ]; s: 282), + ( cc: [ 'f' ]; s: 283), { 267: } ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 268: } ( cc: [ '0'..'5','7'..'9','A'..'Z','_','a'..'z' ]; s: 65), - ( cc: [ '6' ]; s: 283), + ( cc: [ '6' ]; s: 284), { 269: } ( cc: [ '0','1','3'..'9','A'..'Z','_','a'..'z' ]; s: 65), - ( cc: [ '2' ]; s: 284), + ( cc: [ '2' ]; s: 285), { 270: } ( cc: [ '0'..'3','5'..'9','A'..'Z','_','a'..'z' ]; s: 65), - ( cc: [ '4' ]; s: 285), + ( cc: [ '4' ]; s: 286), { 271: } - ( cc: [ '_' ]; s: 286), - ( cc: [ 'c' ]; s: 287), + ( cc: [ #9,' ' ]; s: 287), + ( cc: [ '_' ]; s: 272), + ( cc: [ 'c' ]; s: 273), { 272: } + ( cc: [ '_' ]; s: 288), { 273: } - ( cc: [ 'e' ]; s: 288), + ( cc: [ 'p' ]; s: 289), { 274: } + ( cc: [ 'e' ]; s: 290), { 275: } { 276: } - ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 277: } - ( cc: [ '0'..'9','A'..'O','Q'..'Z','_','a'..'z' ]; s: 65), - ( cc: [ 'P' ]; s: 289), + ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 278: } - ( cc: [ '0'..'9','A'..'J','L'..'Z','_','a'..'z' ]; s: 65), - ( cc: [ 'K' ]; s: 290), -{ 279: } ( cc: [ '0'..'9','A'..'O','Q'..'Z','_','a'..'z' ]; s: 65), ( cc: [ 'P' ]; s: 291), +{ 279: } + ( cc: [ '0'..'9','A'..'J','L'..'Z','_','a'..'z' ]; s: 65), + ( cc: [ 'K' ]; s: 292), { 280: } - ( cc: [ '0'..'9','A'..'X','Z','_','a'..'z' ]; s: 65), - ( cc: [ 'Y' ]; s: 292), + ( cc: [ '0'..'9','A'..'O','Q'..'Z','_','a'..'z' ]; s: 65), + ( cc: [ 'P' ]; s: 293), { 281: } - ( cc: [ '0'..'9','A'..'Z','_','a'..'c','e'..'z' ]; s: 65), - ( cc: [ 'd' ]; s: 293), + ( cc: [ '0'..'9','A'..'X','Z','_','a'..'z' ]; s: 65), + ( cc: [ 'Y' ]; s: 294), { 282: } - ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), + ( cc: [ '0'..'9','A'..'Z','_','a'..'c','e'..'z' ]; s: 65), + ( cc: [ 'd' ]; s: 295), { 283: } ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 284: } @@ -3474,31 +3475,33 @@ yyt : array [1..yyntrans] of YYTrec = ( { 285: } ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 286: } - ( cc: [ '_' ]; s: 294), + ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 287: } - ( cc: [ 'p' ]; s: 295), + ( cc: [ #9,' ' ]; s: 287), + ( cc: [ '_' ]; s: 272), + ( cc: [ 'c' ]; s: 273), { 288: } + ( cc: [ 'c' ]; s: 296), { 289: } - ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), + ( cc: [ 'l' ]; s: 297), { 290: } - ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 291: } - ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 65), - ( cc: [ 'I' ]; s: 296), + ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 292: } ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 293: } - ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), + ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 65), + ( cc: [ 'I' ]; s: 298), { 294: } - ( cc: [ 'c' ]; s: 297), -{ 295: } - ( cc: [ 'l' ]; s: 298), -{ 296: } ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), -{ 297: } +{ 295: } + ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), +{ 296: } ( cc: [ 'p' ]; s: 299), -{ 298: } +{ 297: } ( cc: [ 'u' ]; s: 300), +{ 298: } + ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 65), { 299: } ( cc: [ 'l' ]; s: 301), { 300: } @@ -3915,102 +3918,102 @@ yykl : array [0..yynstates-1] of Integer = ( { 270: } 307, { 271: } 308, { 272: } 309, -{ 273: } 310, -{ 274: } 310, -{ 275: } 311, -{ 276: } 312, -{ 277: } 314, -{ 278: } 315, -{ 279: } 316, -{ 280: } 317, -{ 281: } 318, -{ 282: } 319, -{ 283: } 321, -{ 284: } 323, -{ 285: } 325, -{ 286: } 327, -{ 287: } 327, -{ 288: } 327, -{ 289: } 328, -{ 290: } 330, -{ 291: } 332, -{ 292: } 333, -{ 293: } 335, -{ 294: } 337, -{ 295: } 337, -{ 296: } 337, -{ 297: } 339, -{ 298: } 339, -{ 299: } 339, -{ 300: } 339, -{ 301: } 339, -{ 302: } 339, -{ 303: } 339, -{ 304: } 339, -{ 305: } 339, -{ 306: } 339, -{ 307: } 339, -{ 308: } 339, -{ 309: } 339, -{ 310: } 339, -{ 311: } 340, -{ 312: } 340, -{ 313: } 340, -{ 314: } 341, -{ 315: } 341, -{ 316: } 341, -{ 317: } 341, -{ 318: } 341, -{ 319: } 341, -{ 320: } 341, -{ 321: } 341, -{ 322: } 341, -{ 323: } 341, -{ 324: } 341, -{ 325: } 341, -{ 326: } 341, -{ 327: } 341, -{ 328: } 341, -{ 329: } 341, -{ 330: } 341, -{ 331: } 341, -{ 332: } 341, -{ 333: } 341, -{ 334: } 341, -{ 335: } 341, -{ 336: } 341, -{ 337: } 341, -{ 338: } 341, -{ 339: } 341, -{ 340: } 341, -{ 341: } 341, -{ 342: } 341, -{ 343: } 342, -{ 344: } 342, -{ 345: } 342, -{ 346: } 342, -{ 347: } 342, -{ 348: } 343, -{ 349: } 343, -{ 350: } 343, -{ 351: } 343, -{ 352: } 343, -{ 353: } 343, -{ 354: } 343, -{ 355: } 343, -{ 356: } 343, -{ 357: } 343, -{ 358: } 343, -{ 359: } 343, -{ 360: } 343, -{ 361: } 343, -{ 362: } 343, -{ 363: } 343, -{ 364: } 343, -{ 365: } 343, -{ 366: } 343, -{ 367: } 344, -{ 368: } 344 +{ 273: } 309, +{ 274: } 309, +{ 275: } 309, +{ 276: } 310, +{ 277: } 311, +{ 278: } 313, +{ 279: } 314, +{ 280: } 315, +{ 281: } 316, +{ 282: } 317, +{ 283: } 318, +{ 284: } 320, +{ 285: } 322, +{ 286: } 324, +{ 287: } 326, +{ 288: } 326, +{ 289: } 326, +{ 290: } 326, +{ 291: } 327, +{ 292: } 329, +{ 293: } 331, +{ 294: } 332, +{ 295: } 334, +{ 296: } 336, +{ 297: } 336, +{ 298: } 336, +{ 299: } 338, +{ 300: } 338, +{ 301: } 338, +{ 302: } 338, +{ 303: } 338, +{ 304: } 338, +{ 305: } 338, +{ 306: } 338, +{ 307: } 338, +{ 308: } 338, +{ 309: } 338, +{ 310: } 338, +{ 311: } 339, +{ 312: } 339, +{ 313: } 339, +{ 314: } 340, +{ 315: } 340, +{ 316: } 340, +{ 317: } 340, +{ 318: } 340, +{ 319: } 340, +{ 320: } 340, +{ 321: } 340, +{ 322: } 340, +{ 323: } 340, +{ 324: } 340, +{ 325: } 340, +{ 326: } 340, +{ 327: } 340, +{ 328: } 340, +{ 329: } 340, +{ 330: } 340, +{ 331: } 340, +{ 332: } 340, +{ 333: } 340, +{ 334: } 340, +{ 335: } 340, +{ 336: } 340, +{ 337: } 340, +{ 338: } 340, +{ 339: } 340, +{ 340: } 340, +{ 341: } 340, +{ 342: } 340, +{ 343: } 341, +{ 344: } 341, +{ 345: } 341, +{ 346: } 341, +{ 347: } 341, +{ 348: } 342, +{ 349: } 342, +{ 350: } 342, +{ 351: } 342, +{ 352: } 342, +{ 353: } 342, +{ 354: } 342, +{ 355: } 342, +{ 356: } 342, +{ 357: } 342, +{ 358: } 342, +{ 359: } 342, +{ 360: } 342, +{ 361: } 342, +{ 362: } 342, +{ 363: } 342, +{ 364: } 342, +{ 365: } 342, +{ 366: } 342, +{ 367: } 343, +{ 368: } 343 ); yykh : array [0..yynstates-1] of Integer = ( @@ -4286,103 +4289,103 @@ yykh : array [0..yynstates-1] of Integer = ( { 269: } 306, { 270: } 307, { 271: } 308, -{ 272: } 309, -{ 273: } 309, -{ 274: } 310, -{ 275: } 311, -{ 276: } 313, -{ 277: } 314, -{ 278: } 315, -{ 279: } 316, -{ 280: } 317, -{ 281: } 318, -{ 282: } 320, -{ 283: } 322, -{ 284: } 324, -{ 285: } 326, -{ 286: } 326, -{ 287: } 326, -{ 288: } 327, -{ 289: } 329, -{ 290: } 331, -{ 291: } 332, -{ 292: } 334, -{ 293: } 336, -{ 294: } 336, -{ 295: } 336, -{ 296: } 338, -{ 297: } 338, -{ 298: } 338, -{ 299: } 338, -{ 300: } 338, -{ 301: } 338, -{ 302: } 338, -{ 303: } 338, -{ 304: } 338, -{ 305: } 338, -{ 306: } 338, -{ 307: } 338, -{ 308: } 338, -{ 309: } 338, -{ 310: } 339, -{ 311: } 339, -{ 312: } 339, -{ 313: } 340, -{ 314: } 340, -{ 315: } 340, -{ 316: } 340, -{ 317: } 340, -{ 318: } 340, -{ 319: } 340, -{ 320: } 340, -{ 321: } 340, -{ 322: } 340, -{ 323: } 340, -{ 324: } 340, -{ 325: } 340, -{ 326: } 340, -{ 327: } 340, -{ 328: } 340, -{ 329: } 340, -{ 330: } 340, -{ 331: } 340, -{ 332: } 340, -{ 333: } 340, -{ 334: } 340, -{ 335: } 340, -{ 336: } 340, -{ 337: } 340, -{ 338: } 340, -{ 339: } 340, -{ 340: } 340, -{ 341: } 340, -{ 342: } 341, -{ 343: } 341, -{ 344: } 341, -{ 345: } 341, -{ 346: } 341, -{ 347: } 342, -{ 348: } 342, -{ 349: } 342, -{ 350: } 342, -{ 351: } 342, -{ 352: } 342, -{ 353: } 342, -{ 354: } 342, -{ 355: } 342, -{ 356: } 342, -{ 357: } 342, -{ 358: } 342, -{ 359: } 342, -{ 360: } 342, -{ 361: } 342, -{ 362: } 342, -{ 363: } 342, -{ 364: } 342, -{ 365: } 342, -{ 366: } 343, -{ 367: } 343, -{ 368: } 344 +{ 272: } 308, +{ 273: } 308, +{ 274: } 308, +{ 275: } 309, +{ 276: } 310, +{ 277: } 312, +{ 278: } 313, +{ 279: } 314, +{ 280: } 315, +{ 281: } 316, +{ 282: } 317, +{ 283: } 319, +{ 284: } 321, +{ 285: } 323, +{ 286: } 325, +{ 287: } 325, +{ 288: } 325, +{ 289: } 325, +{ 290: } 326, +{ 291: } 328, +{ 292: } 330, +{ 293: } 331, +{ 294: } 333, +{ 295: } 335, +{ 296: } 335, +{ 297: } 335, +{ 298: } 337, +{ 299: } 337, +{ 300: } 337, +{ 301: } 337, +{ 302: } 337, +{ 303: } 337, +{ 304: } 337, +{ 305: } 337, +{ 306: } 337, +{ 307: } 337, +{ 308: } 337, +{ 309: } 337, +{ 310: } 338, +{ 311: } 338, +{ 312: } 338, +{ 313: } 339, +{ 314: } 339, +{ 315: } 339, +{ 316: } 339, +{ 317: } 339, +{ 318: } 339, +{ 319: } 339, +{ 320: } 339, +{ 321: } 339, +{ 322: } 339, +{ 323: } 339, +{ 324: } 339, +{ 325: } 339, +{ 326: } 339, +{ 327: } 339, +{ 328: } 339, +{ 329: } 339, +{ 330: } 339, +{ 331: } 339, +{ 332: } 339, +{ 333: } 339, +{ 334: } 339, +{ 335: } 339, +{ 336: } 339, +{ 337: } 339, +{ 338: } 339, +{ 339: } 339, +{ 340: } 339, +{ 341: } 339, +{ 342: } 340, +{ 343: } 340, +{ 344: } 340, +{ 345: } 340, +{ 346: } 340, +{ 347: } 341, +{ 348: } 341, +{ 349: } 341, +{ 350: } 341, +{ 351: } 341, +{ 352: } 341, +{ 353: } 341, +{ 354: } 341, +{ 355: } 341, +{ 356: } 341, +{ 357: } 341, +{ 358: } 341, +{ 359: } 341, +{ 360: } 341, +{ 361: } 341, +{ 362: } 341, +{ 363: } 341, +{ 364: } 341, +{ 365: } 341, +{ 366: } 342, +{ 367: } 342, +{ 368: } 343 ); yyml : array [0..yynstates-1] of Integer = ( @@ -4659,102 +4662,102 @@ yyml : array [0..yynstates-1] of Integer = ( { 270: } 307, { 271: } 308, { 272: } 309, -{ 273: } 310, -{ 274: } 310, -{ 275: } 311, -{ 276: } 312, -{ 277: } 314, -{ 278: } 315, -{ 279: } 316, -{ 280: } 317, -{ 281: } 318, -{ 282: } 319, -{ 283: } 321, -{ 284: } 323, -{ 285: } 325, -{ 286: } 327, -{ 287: } 327, -{ 288: } 327, -{ 289: } 328, -{ 290: } 330, -{ 291: } 332, -{ 292: } 333, -{ 293: } 335, -{ 294: } 337, -{ 295: } 337, -{ 296: } 337, -{ 297: } 339, -{ 298: } 339, -{ 299: } 339, -{ 300: } 339, -{ 301: } 339, -{ 302: } 339, -{ 303: } 339, -{ 304: } 339, -{ 305: } 339, -{ 306: } 339, -{ 307: } 339, -{ 308: } 339, -{ 309: } 339, -{ 310: } 339, -{ 311: } 340, -{ 312: } 340, -{ 313: } 340, -{ 314: } 341, -{ 315: } 341, -{ 316: } 341, -{ 317: } 341, -{ 318: } 341, -{ 319: } 341, -{ 320: } 341, -{ 321: } 341, -{ 322: } 341, -{ 323: } 341, -{ 324: } 341, -{ 325: } 341, -{ 326: } 341, -{ 327: } 341, -{ 328: } 341, -{ 329: } 341, -{ 330: } 341, -{ 331: } 341, -{ 332: } 341, -{ 333: } 341, -{ 334: } 341, -{ 335: } 341, -{ 336: } 341, -{ 337: } 341, -{ 338: } 341, -{ 339: } 341, -{ 340: } 341, -{ 341: } 341, -{ 342: } 341, -{ 343: } 342, -{ 344: } 342, -{ 345: } 342, -{ 346: } 342, -{ 347: } 342, -{ 348: } 343, -{ 349: } 343, -{ 350: } 343, -{ 351: } 343, -{ 352: } 343, -{ 353: } 343, -{ 354: } 343, -{ 355: } 343, -{ 356: } 343, -{ 357: } 343, -{ 358: } 343, -{ 359: } 343, -{ 360: } 343, -{ 361: } 343, -{ 362: } 343, -{ 363: } 343, -{ 364: } 343, -{ 365: } 343, -{ 366: } 343, -{ 367: } 344, -{ 368: } 344 +{ 273: } 309, +{ 274: } 309, +{ 275: } 309, +{ 276: } 310, +{ 277: } 311, +{ 278: } 313, +{ 279: } 314, +{ 280: } 315, +{ 281: } 316, +{ 282: } 317, +{ 283: } 318, +{ 284: } 320, +{ 285: } 322, +{ 286: } 324, +{ 287: } 326, +{ 288: } 326, +{ 289: } 326, +{ 290: } 326, +{ 291: } 327, +{ 292: } 329, +{ 293: } 331, +{ 294: } 332, +{ 295: } 334, +{ 296: } 336, +{ 297: } 336, +{ 298: } 336, +{ 299: } 338, +{ 300: } 338, +{ 301: } 338, +{ 302: } 338, +{ 303: } 338, +{ 304: } 338, +{ 305: } 338, +{ 306: } 338, +{ 307: } 338, +{ 308: } 338, +{ 309: } 338, +{ 310: } 338, +{ 311: } 339, +{ 312: } 339, +{ 313: } 339, +{ 314: } 340, +{ 315: } 340, +{ 316: } 340, +{ 317: } 340, +{ 318: } 340, +{ 319: } 340, +{ 320: } 340, +{ 321: } 340, +{ 322: } 340, +{ 323: } 340, +{ 324: } 340, +{ 325: } 340, +{ 326: } 340, +{ 327: } 340, +{ 328: } 340, +{ 329: } 340, +{ 330: } 340, +{ 331: } 340, +{ 332: } 340, +{ 333: } 340, +{ 334: } 340, +{ 335: } 340, +{ 336: } 340, +{ 337: } 340, +{ 338: } 340, +{ 339: } 340, +{ 340: } 340, +{ 341: } 340, +{ 342: } 340, +{ 343: } 341, +{ 344: } 341, +{ 345: } 341, +{ 346: } 341, +{ 347: } 341, +{ 348: } 342, +{ 349: } 342, +{ 350: } 342, +{ 351: } 342, +{ 352: } 342, +{ 353: } 342, +{ 354: } 342, +{ 355: } 342, +{ 356: } 342, +{ 357: } 342, +{ 358: } 342, +{ 359: } 342, +{ 360: } 342, +{ 361: } 342, +{ 362: } 342, +{ 363: } 342, +{ 364: } 342, +{ 365: } 342, +{ 366: } 342, +{ 367: } 343, +{ 368: } 343 ); yymh : array [0..yynstates-1] of Integer = ( @@ -5030,103 +5033,103 @@ yymh : array [0..yynstates-1] of Integer = ( { 269: } 306, { 270: } 307, { 271: } 308, -{ 272: } 309, -{ 273: } 309, -{ 274: } 310, -{ 275: } 311, -{ 276: } 313, -{ 277: } 314, -{ 278: } 315, -{ 279: } 316, -{ 280: } 317, -{ 281: } 318, -{ 282: } 320, -{ 283: } 322, -{ 284: } 324, -{ 285: } 326, -{ 286: } 326, -{ 287: } 326, -{ 288: } 327, -{ 289: } 329, -{ 290: } 331, -{ 291: } 332, -{ 292: } 334, -{ 293: } 336, -{ 294: } 336, -{ 295: } 336, -{ 296: } 338, -{ 297: } 338, -{ 298: } 338, -{ 299: } 338, -{ 300: } 338, -{ 301: } 338, -{ 302: } 338, -{ 303: } 338, -{ 304: } 338, -{ 305: } 338, -{ 306: } 338, -{ 307: } 338, -{ 308: } 338, -{ 309: } 338, -{ 310: } 339, -{ 311: } 339, -{ 312: } 339, -{ 313: } 340, -{ 314: } 340, -{ 315: } 340, -{ 316: } 340, -{ 317: } 340, -{ 318: } 340, -{ 319: } 340, -{ 320: } 340, -{ 321: } 340, -{ 322: } 340, -{ 323: } 340, -{ 324: } 340, -{ 325: } 340, -{ 326: } 340, -{ 327: } 340, -{ 328: } 340, -{ 329: } 340, -{ 330: } 340, -{ 331: } 340, -{ 332: } 340, -{ 333: } 340, -{ 334: } 340, -{ 335: } 340, -{ 336: } 340, -{ 337: } 340, -{ 338: } 340, -{ 339: } 340, -{ 340: } 340, -{ 341: } 340, -{ 342: } 341, -{ 343: } 341, -{ 344: } 341, -{ 345: } 341, -{ 346: } 341, -{ 347: } 342, -{ 348: } 342, -{ 349: } 342, -{ 350: } 342, -{ 351: } 342, -{ 352: } 342, -{ 353: } 342, -{ 354: } 342, -{ 355: } 342, -{ 356: } 342, -{ 357: } 342, -{ 358: } 342, -{ 359: } 342, -{ 360: } 342, -{ 361: } 342, -{ 362: } 342, -{ 363: } 342, -{ 364: } 342, -{ 365: } 342, -{ 366: } 343, -{ 367: } 343, -{ 368: } 344 +{ 272: } 308, +{ 273: } 308, +{ 274: } 308, +{ 275: } 309, +{ 276: } 310, +{ 277: } 312, +{ 278: } 313, +{ 279: } 314, +{ 280: } 315, +{ 281: } 316, +{ 282: } 317, +{ 283: } 319, +{ 284: } 321, +{ 285: } 323, +{ 286: } 325, +{ 287: } 325, +{ 288: } 325, +{ 289: } 325, +{ 290: } 326, +{ 291: } 328, +{ 292: } 330, +{ 293: } 331, +{ 294: } 333, +{ 295: } 335, +{ 296: } 335, +{ 297: } 335, +{ 298: } 337, +{ 299: } 337, +{ 300: } 337, +{ 301: } 337, +{ 302: } 337, +{ 303: } 337, +{ 304: } 337, +{ 305: } 337, +{ 306: } 337, +{ 307: } 337, +{ 308: } 337, +{ 309: } 337, +{ 310: } 338, +{ 311: } 338, +{ 312: } 338, +{ 313: } 339, +{ 314: } 339, +{ 315: } 339, +{ 316: } 339, +{ 317: } 339, +{ 318: } 339, +{ 319: } 339, +{ 320: } 339, +{ 321: } 339, +{ 322: } 339, +{ 323: } 339, +{ 324: } 339, +{ 325: } 339, +{ 326: } 339, +{ 327: } 339, +{ 328: } 339, +{ 329: } 339, +{ 330: } 339, +{ 331: } 339, +{ 332: } 339, +{ 333: } 339, +{ 334: } 339, +{ 335: } 339, +{ 336: } 339, +{ 337: } 339, +{ 338: } 339, +{ 339: } 339, +{ 340: } 339, +{ 341: } 339, +{ 342: } 340, +{ 343: } 340, +{ 344: } 340, +{ 345: } 340, +{ 346: } 340, +{ 347: } 341, +{ 348: } 341, +{ 349: } 341, +{ 350: } 341, +{ 351: } 341, +{ 352: } 341, +{ 353: } 341, +{ 354: } 341, +{ 355: } 341, +{ 356: } 341, +{ 357: } 341, +{ 358: } 341, +{ 359: } 341, +{ 360: } 341, +{ 361: } 341, +{ 362: } 341, +{ 363: } 341, +{ 364: } 341, +{ 365: } 341, +{ 366: } 342, +{ 367: } 342, +{ 368: } 343 ); yytl : array [0..yynstates-1] of Integer = ( @@ -5378,127 +5381,127 @@ yytl : array [0..yynstates-1] of Integer = ( { 245: } 503, { 246: } 504, { 247: } 505, -{ 248: } 507, -{ 249: } 508, -{ 250: } 508, -{ 251: } 508, -{ 252: } 508, -{ 253: } 509, -{ 254: } 510, -{ 255: } 511, -{ 256: } 513, -{ 257: } 515, -{ 258: } 517, -{ 259: } 518, -{ 260: } 519, -{ 261: } 520, -{ 262: } 522, -{ 263: } 524, -{ 264: } 526, -{ 265: } 527, -{ 266: } 528, -{ 267: } 530, -{ 268: } 531, -{ 269: } 533, -{ 270: } 535, -{ 271: } 537, -{ 272: } 539, -{ 273: } 539, -{ 274: } 540, -{ 275: } 540, -{ 276: } 540, -{ 277: } 541, -{ 278: } 543, -{ 279: } 545, -{ 280: } 547, -{ 281: } 549, -{ 282: } 551, -{ 283: } 552, -{ 284: } 553, -{ 285: } 554, -{ 286: } 555, -{ 287: } 556, -{ 288: } 557, -{ 289: } 557, -{ 290: } 558, -{ 291: } 559, -{ 292: } 561, -{ 293: } 562, -{ 294: } 563, -{ 295: } 564, -{ 296: } 565, -{ 297: } 566, -{ 298: } 567, -{ 299: } 568, -{ 300: } 569, -{ 301: } 570, -{ 302: } 571, -{ 303: } 572, -{ 304: } 573, -{ 305: } 574, -{ 306: } 575, -{ 307: } 576, -{ 308: } 577, -{ 309: } 578, -{ 310: } 579, -{ 311: } 581, -{ 312: } 582, -{ 313: } 584, -{ 314: } 586, -{ 315: } 587, -{ 316: } 588, -{ 317: } 590, -{ 318: } 591, -{ 319: } 592, -{ 320: } 593, -{ 321: } 594, -{ 322: } 595, -{ 323: } 596, -{ 324: } 597, -{ 325: } 598, -{ 326: } 599, -{ 327: } 600, -{ 328: } 601, -{ 329: } 602, -{ 330: } 603, -{ 331: } 604, -{ 332: } 605, -{ 333: } 606, -{ 334: } 607, -{ 335: } 608, -{ 336: } 609, -{ 337: } 610, -{ 338: } 611, -{ 339: } 612, -{ 340: } 613, -{ 341: } 614, -{ 342: } 615, -{ 343: } 615, -{ 344: } 616, -{ 345: } 617, -{ 346: } 618, -{ 347: } 619, -{ 348: } 619, -{ 349: } 620, -{ 350: } 621, -{ 351: } 622, -{ 352: } 623, -{ 353: } 624, -{ 354: } 625, -{ 355: } 626, -{ 356: } 627, -{ 357: } 628, -{ 358: } 629, -{ 359: } 630, -{ 360: } 631, -{ 361: } 632, -{ 362: } 633, -{ 363: } 634, -{ 364: } 635, -{ 365: } 636, -{ 366: } 637, -{ 367: } 637, -{ 368: } 638 +{ 248: } 508, +{ 249: } 509, +{ 250: } 509, +{ 251: } 509, +{ 252: } 509, +{ 253: } 510, +{ 254: } 511, +{ 255: } 512, +{ 256: } 514, +{ 257: } 516, +{ 258: } 518, +{ 259: } 519, +{ 260: } 520, +{ 261: } 521, +{ 262: } 523, +{ 263: } 525, +{ 264: } 527, +{ 265: } 528, +{ 266: } 529, +{ 267: } 531, +{ 268: } 532, +{ 269: } 534, +{ 270: } 536, +{ 271: } 538, +{ 272: } 541, +{ 273: } 542, +{ 274: } 543, +{ 275: } 544, +{ 276: } 544, +{ 277: } 544, +{ 278: } 545, +{ 279: } 547, +{ 280: } 549, +{ 281: } 551, +{ 282: } 553, +{ 283: } 555, +{ 284: } 556, +{ 285: } 557, +{ 286: } 558, +{ 287: } 559, +{ 288: } 562, +{ 289: } 563, +{ 290: } 564, +{ 291: } 564, +{ 292: } 565, +{ 293: } 566, +{ 294: } 568, +{ 295: } 569, +{ 296: } 570, +{ 297: } 571, +{ 298: } 572, +{ 299: } 573, +{ 300: } 574, +{ 301: } 575, +{ 302: } 576, +{ 303: } 577, +{ 304: } 578, +{ 305: } 579, +{ 306: } 580, +{ 307: } 581, +{ 308: } 582, +{ 309: } 583, +{ 310: } 584, +{ 311: } 586, +{ 312: } 587, +{ 313: } 589, +{ 314: } 591, +{ 315: } 592, +{ 316: } 593, +{ 317: } 595, +{ 318: } 596, +{ 319: } 597, +{ 320: } 598, +{ 321: } 599, +{ 322: } 600, +{ 323: } 601, +{ 324: } 602, +{ 325: } 603, +{ 326: } 604, +{ 327: } 605, +{ 328: } 606, +{ 329: } 607, +{ 330: } 608, +{ 331: } 609, +{ 332: } 610, +{ 333: } 611, +{ 334: } 612, +{ 335: } 613, +{ 336: } 614, +{ 337: } 615, +{ 338: } 616, +{ 339: } 617, +{ 340: } 618, +{ 341: } 619, +{ 342: } 620, +{ 343: } 620, +{ 344: } 621, +{ 345: } 622, +{ 346: } 623, +{ 347: } 624, +{ 348: } 624, +{ 349: } 625, +{ 350: } 626, +{ 351: } 627, +{ 352: } 628, +{ 353: } 629, +{ 354: } 630, +{ 355: } 631, +{ 356: } 632, +{ 357: } 633, +{ 358: } 634, +{ 359: } 635, +{ 360: } 636, +{ 361: } 637, +{ 362: } 638, +{ 363: } 639, +{ 364: } 640, +{ 365: } 641, +{ 366: } 642, +{ 367: } 642, +{ 368: } 643 ); yyth : array [0..yynstates-1] of Integer = ( @@ -5749,128 +5752,128 @@ yyth : array [0..yynstates-1] of Integer = ( { 244: } 502, { 245: } 503, { 246: } 504, -{ 247: } 506, -{ 248: } 507, -{ 249: } 507, -{ 250: } 507, -{ 251: } 507, -{ 252: } 508, -{ 253: } 509, -{ 254: } 510, -{ 255: } 512, -{ 256: } 514, -{ 257: } 516, -{ 258: } 517, -{ 259: } 518, -{ 260: } 519, -{ 261: } 521, -{ 262: } 523, -{ 263: } 525, -{ 264: } 526, -{ 265: } 527, -{ 266: } 529, -{ 267: } 530, -{ 268: } 532, -{ 269: } 534, -{ 270: } 536, -{ 271: } 538, -{ 272: } 538, -{ 273: } 539, -{ 274: } 539, -{ 275: } 539, -{ 276: } 540, -{ 277: } 542, -{ 278: } 544, -{ 279: } 546, -{ 280: } 548, -{ 281: } 550, -{ 282: } 551, -{ 283: } 552, -{ 284: } 553, -{ 285: } 554, -{ 286: } 555, -{ 287: } 556, -{ 288: } 556, -{ 289: } 557, -{ 290: } 558, -{ 291: } 560, -{ 292: } 561, -{ 293: } 562, -{ 294: } 563, -{ 295: } 564, -{ 296: } 565, -{ 297: } 566, -{ 298: } 567, -{ 299: } 568, -{ 300: } 569, -{ 301: } 570, -{ 302: } 571, -{ 303: } 572, -{ 304: } 573, -{ 305: } 574, -{ 306: } 575, -{ 307: } 576, -{ 308: } 577, -{ 309: } 578, -{ 310: } 580, -{ 311: } 581, -{ 312: } 583, -{ 313: } 585, -{ 314: } 586, -{ 315: } 587, -{ 316: } 589, -{ 317: } 590, -{ 318: } 591, -{ 319: } 592, -{ 320: } 593, -{ 321: } 594, -{ 322: } 595, -{ 323: } 596, -{ 324: } 597, -{ 325: } 598, -{ 326: } 599, -{ 327: } 600, -{ 328: } 601, -{ 329: } 602, -{ 330: } 603, -{ 331: } 604, -{ 332: } 605, -{ 333: } 606, -{ 334: } 607, -{ 335: } 608, -{ 336: } 609, -{ 337: } 610, -{ 338: } 611, -{ 339: } 612, -{ 340: } 613, -{ 341: } 614, -{ 342: } 614, -{ 343: } 615, -{ 344: } 616, -{ 345: } 617, -{ 346: } 618, -{ 347: } 618, -{ 348: } 619, -{ 349: } 620, -{ 350: } 621, -{ 351: } 622, -{ 352: } 623, -{ 353: } 624, -{ 354: } 625, -{ 355: } 626, -{ 356: } 627, -{ 357: } 628, -{ 358: } 629, -{ 359: } 630, -{ 360: } 631, -{ 361: } 632, -{ 362: } 633, -{ 363: } 634, -{ 364: } 635, -{ 365: } 636, -{ 366: } 636, -{ 367: } 637, -{ 368: } 637 +{ 247: } 507, +{ 248: } 508, +{ 249: } 508, +{ 250: } 508, +{ 251: } 508, +{ 252: } 509, +{ 253: } 510, +{ 254: } 511, +{ 255: } 513, +{ 256: } 515, +{ 257: } 517, +{ 258: } 518, +{ 259: } 519, +{ 260: } 520, +{ 261: } 522, +{ 262: } 524, +{ 263: } 526, +{ 264: } 527, +{ 265: } 528, +{ 266: } 530, +{ 267: } 531, +{ 268: } 533, +{ 269: } 535, +{ 270: } 537, +{ 271: } 540, +{ 272: } 541, +{ 273: } 542, +{ 274: } 543, +{ 275: } 543, +{ 276: } 543, +{ 277: } 544, +{ 278: } 546, +{ 279: } 548, +{ 280: } 550, +{ 281: } 552, +{ 282: } 554, +{ 283: } 555, +{ 284: } 556, +{ 285: } 557, +{ 286: } 558, +{ 287: } 561, +{ 288: } 562, +{ 289: } 563, +{ 290: } 563, +{ 291: } 564, +{ 292: } 565, +{ 293: } 567, +{ 294: } 568, +{ 295: } 569, +{ 296: } 570, +{ 297: } 571, +{ 298: } 572, +{ 299: } 573, +{ 300: } 574, +{ 301: } 575, +{ 302: } 576, +{ 303: } 577, +{ 304: } 578, +{ 305: } 579, +{ 306: } 580, +{ 307: } 581, +{ 308: } 582, +{ 309: } 583, +{ 310: } 585, +{ 311: } 586, +{ 312: } 588, +{ 313: } 590, +{ 314: } 591, +{ 315: } 592, +{ 316: } 594, +{ 317: } 595, +{ 318: } 596, +{ 319: } 597, +{ 320: } 598, +{ 321: } 599, +{ 322: } 600, +{ 323: } 601, +{ 324: } 602, +{ 325: } 603, +{ 326: } 604, +{ 327: } 605, +{ 328: } 606, +{ 329: } 607, +{ 330: } 608, +{ 331: } 609, +{ 332: } 610, +{ 333: } 611, +{ 334: } 612, +{ 335: } 613, +{ 336: } 614, +{ 337: } 615, +{ 338: } 616, +{ 339: } 617, +{ 340: } 618, +{ 341: } 619, +{ 342: } 619, +{ 343: } 620, +{ 344: } 621, +{ 345: } 622, +{ 346: } 623, +{ 347: } 623, +{ 348: } 624, +{ 349: } 625, +{ 350: } 626, +{ 351: } 627, +{ 352: } 628, +{ 353: } 629, +{ 354: } 630, +{ 355: } 631, +{ 356: } 632, +{ 357: } 633, +{ 358: } 634, +{ 359: } 635, +{ 360: } 636, +{ 361: } 637, +{ 362: } 638, +{ 363: } 639, +{ 364: } 640, +{ 365: } 641, +{ 366: } 641, +{ 367: } 642, +{ 368: } 642 ); @@ -5945,3 +5948,4 @@ end. +