From 5cffbad92acd1564bbe9a4832dfbcb6e3f91b650 Mon Sep 17 00:00:00 2001 From: marco Date: Sat, 19 Dec 2020 21:47:25 +0000 Subject: [PATCH] - fix \ in filenames: * copy long_string to long_stringfn and long_string. * turn off interpretive I/O (escapes) for long_stringfn * use long_stringfn for filenames. * filenames also get unquoted production for Delphi compatibility using new non_whitespace_string. Regex for that is a bit t.b.d, but this made it work with my examples git-svn-id: trunk@47820 - --- packages/fcl-res/src/rclex.inc | 1662 ++++++++++++----------- packages/fcl-res/src/rclex.l | 2 + packages/fcl-res/src/rcparser.pas | 2109 +++++++++++++++-------------- packages/fcl-res/src/rcparser.y | 19 +- 4 files changed, 1999 insertions(+), 1793 deletions(-) diff --git a/packages/fcl-res/src/rclex.inc b/packages/fcl-res/src/rclex.inc index 69fe8194a4..f2cd4aeaaa 100644 --- a/packages/fcl-res/src/rclex.inc +++ b/packages/fcl-res/src/rclex.inc @@ -141,10 +141,12 @@ begin return(_ID); end; 25: - ; + return(_NSWPSTR); 26: - returnc(yytext[1]); + ; 27: + returnc(yytext[1]); + 28: return(_ILLEGAL); end; end(*yyaction*); @@ -158,14 +160,16 @@ type YYTRec = record const -yynmarks = 62; -yynmatches = 62; -yyntrans = 131; -yynstates = 94; +yynmarks = 88; +yynmatches = 88; +yyntrans = 156; +yynstates = 96; yyk : array [1..yynmarks] of Integer = ( { 0: } + 25, { 1: } + 25, { 2: } { 3: } { 4: } @@ -175,132 +179,153 @@ yyk : array [1..yynmarks] of Integer = ( { 8: } { 9: } { 10: } - 26, 27, + 28, { 11: } 8, - 27, + 25, + 28, { 12: } 8, - 27, + 25, + 28, { 13: } 24, - 27, + 25, + 28, { 14: } 12, - 27, + 28, { 15: } 24, - 27, + 25, + 28, { 16: } 22, - 27, + 28, { 17: } 24, - 27, + 25, + 28, { 18: } 23, - 27, + 28, { 19: } 24, - 27, + 25, + 28, { 20: } 25, + 28, { 21: } 26, - 27, { 22: } - 25, 27, + 28, { 23: } - 27, + 26, + 28, { 24: } - 2, + 28, { 25: } - 3, + 2, { 26: } - 5, + 3, { 27: } 5, { 28: } - 7, + 5, { 29: } + 7, + { 30: } 14, 18, - { 30: } - 18, { 31: } - 17, - { 32: } 18, + { 32: } + 17, { 33: } - 15, 18, { 34: } - 1, + 15, + 18, { 35: } - 4, + 1, { 36: } - 8, + 4, { 37: } 8, + 25, { 38: } + 8, + 25, { 39: } + 25, { 40: } - 11, + 25, { 41: } - 24, + 25, { 42: } + 11, { 43: } + 24, + 25, { 44: } { 45: } - 24, { 46: } - 24, { 47: } - 6, - { 48: } - 13, - { 49: } - 16, - { 50: } - 9, - { 51: } - 10, - { 52: } - { 53: } 24, + 25, + { 48: } + 24, + 25, + { 49: } + 6, + { 50: } + 13, + { 51: } + 16, + { 52: } + 9, + 25, + { 53: } + 10, + 25, { 54: } + { 55: } + { 56: } + { 57: } + 24, + 25, + { 58: } 23, 24, - { 55: } - 9, - { 56: } - 10, - { 57: } - { 58: } + 25, { 59: } + 9, + 25, { 60: } - 24, + 10, + 25, { 61: } { 62: } - 22, - 24, { 63: } { 64: } + 24, + 25, { 65: } { 66: } { 67: } { 68: } + 22, + 24, + 25, { 69: } { 70: } { 71: } { 72: } - 20, { 73: } - 21, { 74: } - 19 { 75: } { 76: } { 77: } @@ -318,13 +343,20 @@ yyk : array [1..yynmarks] of Integer = ( { 89: } { 90: } { 91: } + 20, { 92: } + 21, { 93: } + { 94: } + { 95: } + 19 ); yym : array [1..yynmatches] of Integer = ( { 0: } + 25, { 1: } + 25, { 2: } { 3: } { 4: } @@ -334,132 +366,153 @@ yym : array [1..yynmatches] of Integer = ( { 8: } { 9: } { 10: } - 26, 27, + 28, { 11: } 8, - 27, + 25, + 28, { 12: } 8, - 27, + 25, + 28, { 13: } 24, - 27, + 25, + 28, { 14: } 12, - 27, + 28, { 15: } 24, - 27, + 25, + 28, { 16: } 22, - 27, + 28, { 17: } 24, - 27, + 25, + 28, { 18: } 23, - 27, + 28, { 19: } 24, - 27, + 25, + 28, { 20: } 25, + 28, { 21: } 26, - 27, { 22: } - 25, 27, + 28, { 23: } - 27, + 26, + 28, { 24: } - 2, + 28, { 25: } - 3, + 2, { 26: } - 5, + 3, { 27: } 5, { 28: } - 7, + 5, { 29: } + 7, +{ 30: } 14, 18, -{ 30: } - 18, { 31: } - 17, -{ 32: } 18, +{ 32: } + 17, { 33: } - 15, 18, { 34: } - 1, + 15, + 18, { 35: } - 4, + 1, { 36: } - 8, + 4, { 37: } 8, + 25, { 38: } + 8, + 25, { 39: } + 25, { 40: } - 11, + 25, { 41: } - 24, + 25, { 42: } + 11, { 43: } + 24, + 25, { 44: } { 45: } - 24, { 46: } - 24, { 47: } - 6, -{ 48: } - 13, -{ 49: } - 16, -{ 50: } - 9, -{ 51: } - 10, -{ 52: } -{ 53: } 24, + 25, +{ 48: } + 24, + 25, +{ 49: } + 6, +{ 50: } + 13, +{ 51: } + 16, +{ 52: } + 9, + 25, +{ 53: } + 10, + 25, { 54: } +{ 55: } +{ 56: } +{ 57: } + 24, + 25, +{ 58: } 23, 24, -{ 55: } - 9, -{ 56: } - 10, -{ 57: } -{ 58: } + 25, { 59: } + 9, + 25, { 60: } - 24, + 10, + 25, { 61: } { 62: } - 22, - 24, { 63: } { 64: } + 24, + 25, { 65: } { 66: } { 67: } { 68: } + 22, + 24, + 25, { 69: } { 70: } { 71: } { 72: } - 20, { 73: } - 21, { 74: } - 19 { 75: } { 76: } { 77: } @@ -477,18 +530,24 @@ yym : array [1..yynmatches] of Integer = ( { 89: } { 90: } { 91: } + 20, { 92: } + 21, { 93: } +{ 94: } +{ 95: } + 19 ); yyt : array [1..yyntrans] of YYTrec = ( { 0: } ( cc: [ #1..#8,#11,#13..#31,'!','#','$','''','*','+', - '-','.',':'..'@','['..']','`',#127..#255 ]; s: 23), - ( cc: [ #9,#12,' ' ]; s: 22), - ( cc: [ #10 ]; s: 20), + '-',';'..'@','[',']','`',#127..#255 ]; s: 24), + ( cc: [ #9,#12,' ' ]; s: 23), + ( cc: [ #10 ]; s: 21), ( cc: [ '"' ]; s: 14), - ( cc: [ '%','&','(',')',',','^','|','~' ]; s: 21), + ( cc: [ '%','&','(',')',',','^','|','~' ]; s: 22), + ( cc: [ '.',':','\' ]; s: 20), ( cc: [ '/' ]; s: 10), ( cc: [ '0' ]; s: 12), ( cc: [ '1'..'9' ]; s: 11), @@ -500,11 +559,12 @@ yyt : array [1..yyntrans] of YYTrec = ( ( cc: [ '}' ]; s: 18), { 1: } ( cc: [ #1..#8,#11,#13..#31,'!','#','$','''','*','+', - '-','.',':'..'@','['..']','`',#127..#255 ]; s: 23), - ( cc: [ #9,#12,' ' ]; s: 22), - ( cc: [ #10 ]; s: 20), + '-',';'..'@','[',']','`',#127..#255 ]; s: 24), + ( cc: [ #9,#12,' ' ]; s: 23), + ( cc: [ #10 ]; s: 21), ( cc: [ '"' ]; s: 14), - ( cc: [ '%','&','(',')',',','^','|','~' ]; s: 21), + ( cc: [ '%','&','(',')',',','^','|','~' ]; s: 22), + ( cc: [ '.',':','\' ]; s: 20), ( cc: [ '/' ]; s: 10), ( cc: [ '0' ]; s: 12), ( cc: [ '1'..'9' ]; s: 11), @@ -515,68 +575,76 @@ yyt : array [1..yyntrans] of YYTrec = ( ( cc: [ '{' ]; s: 16), ( cc: [ '}' ]; s: 18), { 2: } - ( cc: [ #1..#9,#11..#255 ]; s: 25), - ( cc: [ #10 ]; s: 24), + ( cc: [ #1..#9,#11..#255 ]; s: 26), + ( cc: [ #10 ]; s: 25), { 3: } - ( cc: [ #1..#9,#11..#255 ]; s: 25), - ( cc: [ #10 ]; s: 24), + ( cc: [ #1..#9,#11..#255 ]; s: 26), + ( cc: [ #10 ]; s: 25), { 4: } - ( cc: [ #0 ]; s: 28), - ( cc: [ #1..#9,#11..')','+'..#255 ]; s: 26), - ( cc: [ '*' ]; s: 27), + ( cc: [ #0 ]; s: 29), + ( cc: [ #1..#9,#11..')','+'..#255 ]; s: 27), + ( cc: [ '*' ]; s: 28), { 5: } - ( cc: [ #0 ]; s: 28), - ( cc: [ #1..#9,#11..')','+'..#255 ]; s: 26), - ( cc: [ '*' ]; s: 27), + ( cc: [ #0 ]; s: 29), + ( cc: [ #1..#9,#11..')','+'..#255 ]; s: 27), + ( cc: [ '*' ]; s: 28), { 6: } - ( cc: [ #1..#9,#11..'!','#'..'[',']'..#255 ]; s: 32), - ( cc: [ #10 ]; s: 31), - ( cc: [ '"' ]; s: 29), - ( cc: [ '\' ]; s: 30), + ( cc: [ #1..#9,#11..'!','#'..'[',']'..#255 ]; s: 33), + ( cc: [ #10 ]; s: 32), + ( cc: [ '"' ]; s: 30), + ( cc: [ '\' ]; s: 31), { 7: } - ( cc: [ #1..#9,#11..'!','#'..'[',']'..#255 ]; s: 32), - ( cc: [ #10 ]; s: 31), - ( cc: [ '"' ]; s: 29), - ( cc: [ '\' ]; s: 30), + ( cc: [ #1..#9,#11..'!','#'..'[',']'..#255 ]; s: 33), + ( cc: [ #10 ]; s: 32), + ( cc: [ '"' ]; s: 30), + ( cc: [ '\' ]; s: 31), { 8: } - ( cc: [ #1..#9,#11..'!','#'..'[',']'..#255 ]; s: 32), - ( cc: [ #10 ]; s: 31), - ( cc: [ '"' ]; s: 33), - ( cc: [ '\' ]; s: 30), + ( cc: [ #1..#9,#11..'!','#'..'[',']'..#255 ]; s: 33), + ( cc: [ #10 ]; s: 32), + ( cc: [ '"' ]; s: 34), + ( cc: [ '\' ]; s: 31), { 9: } - ( cc: [ #1..#9,#11..'!','#'..'[',']'..#255 ]; s: 32), - ( cc: [ #10 ]; s: 31), - ( cc: [ '"' ]; s: 33), - ( cc: [ '\' ]; s: 30), + ( cc: [ #1..#9,#11..'!','#'..'[',']'..#255 ]; s: 33), + ( cc: [ #10 ]; s: 32), + ( cc: [ '"' ]; s: 34), + ( cc: [ '\' ]; s: 31), { 10: } - ( cc: [ '*' ]; s: 35), - ( cc: [ '/' ]; s: 34), + ( cc: [ '*' ]; s: 36), + ( cc: [ '/' ]; s: 35), { 11: } - ( cc: [ '0'..'9' ]; s: 36), - ( cc: [ 'L' ]; s: 37), + ( cc: [ '.',':','A'..'K','M'..'Z','\','_','a'..'z' ]; s: 39), + ( cc: [ '0'..'9' ]; s: 37), + ( cc: [ 'L' ]; s: 38), { 12: } - ( cc: [ '0'..'9' ]; s: 36), - ( cc: [ 'L' ]; s: 37), - ( cc: [ 'o' ]; s: 39), - ( cc: [ 'x' ]; s: 38), + ( cc: [ '.',':','A'..'K','M'..'Z','\','_','a'..'n', + 'p'..'w','y','z' ]; s: 39), + ( cc: [ '0'..'9' ]; s: 37), + ( cc: [ 'L' ]; s: 38), + ( cc: [ 'o' ]; s: 41), + ( cc: [ 'x' ]; s: 40), { 13: } - ( cc: [ '"' ]; s: 40), - ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 41), + ( cc: [ '"' ]; s: 42), + ( cc: [ '.',':','\' ]; s: 39), + ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 43), { 14: } - ( cc: [ 'S' ]; s: 42), - ( cc: [ 'T' ]; s: 44), - ( cc: [ 'V' ]; s: 43), + ( cc: [ 'S' ]; s: 44), + ( cc: [ 'T' ]; s: 46), + ( cc: [ 'V' ]; s: 45), { 15: } - ( cc: [ '0'..'9','A'..'D','F'..'Z','_','a'..'z' ]; s: 41), - ( cc: [ 'E' ]; s: 45), + ( cc: [ '.',':','\' ]; s: 39), + ( cc: [ '0'..'9','A'..'D','F'..'Z','_','a'..'z' ]; s: 43), + ( cc: [ 'E' ]; s: 47), { 16: } { 17: } - ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 41), - ( cc: [ 'N' ]; s: 46), + ( cc: [ '.',':','\' ]; s: 39), + ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 43), + ( cc: [ 'N' ]; s: 48), { 18: } { 19: } - ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 41), + ( cc: [ '.',':','\' ]; s: 39), + ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 43), { 20: } + ( cc: [ '.','0'..':','A'..'Z','\','_','a'..'z' ]; s: 39), { 21: } { 22: } { 23: } @@ -584,713 +652,743 @@ yyt : array [1..yyntrans] of YYTrec = ( { 25: } { 26: } { 27: } - ( cc: [ '/' ]; s: 47), { 28: } + ( cc: [ '/' ]; s: 49), { 29: } - ( cc: [ '"' ]; s: 48), { 30: } - ( cc: [ #10 ]; s: 49), + ( cc: [ '"' ]; s: 50), { 31: } + ( cc: [ #10 ]; s: 51), { 32: } { 33: } - ( cc: [ '"' ]; s: 48), { 34: } + ( cc: [ '"' ]; s: 50), { 35: } { 36: } - ( cc: [ '0'..'9' ]; s: 36), - ( cc: [ 'L' ]; s: 37), { 37: } + ( cc: [ '.',':','A'..'K','M'..'Z','\','_','a'..'z' ]; s: 39), + ( cc: [ '0'..'9' ]; s: 37), + ( cc: [ 'L' ]; s: 38), { 38: } - ( cc: [ '0'..'9','A'..'F','a'..'f' ]; s: 50), + ( cc: [ '.','0'..':','A'..'Z','\','_','a'..'z' ]; s: 39), { 39: } - ( cc: [ '0'..'7' ]; s: 51), + ( cc: [ '.','0'..':','A'..'Z','\','_','a'..'z' ]; s: 39), { 40: } + ( cc: [ '.',':','G'..'Z','\','_','g'..'z' ]; s: 39), + ( cc: [ '0'..'9','A'..'F','a'..'f' ]; s: 52), { 41: } - ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 41), + ( cc: [ '.','8'..':','A'..'Z','\','_','a'..'z' ]; s: 39), + ( cc: [ '0'..'7' ]; s: 53), { 42: } - ( cc: [ 't' ]; s: 52), { 43: } - ( cc: [ 'a' ]; s: 77), + ( cc: [ '.',':','\' ]; s: 39), + ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 43), { 44: } - ( cc: [ 'r' ]; s: 76), + ( cc: [ 't' ]; s: 54), { 45: } - ( cc: [ '0'..'9','A'..'F','H'..'Z','_','a'..'z' ]; s: 41), - ( cc: [ 'G' ]; s: 53), + ( cc: [ 'a' ]; s: 55), { 46: } - ( cc: [ '0'..'9','A'..'C','E'..'Z','_','a'..'z' ]; s: 41), - ( cc: [ 'D' ]; s: 54), + ( cc: [ 'r' ]; s: 56), { 47: } + ( cc: [ '.',':','\' ]; s: 39), + ( cc: [ '0'..'9','A'..'F','H'..'Z','_','a'..'z' ]; s: 43), + ( cc: [ 'G' ]; s: 57), { 48: } + ( cc: [ '.',':','\' ]; s: 39), + ( cc: [ '0'..'9','A'..'C','E'..'Z','_','a'..'z' ]; s: 43), + ( cc: [ 'D' ]; s: 58), { 49: } { 50: } - ( cc: [ '0'..'9','A'..'F','a'..'f' ]; s: 50), - ( cc: [ 'L' ]; s: 55), { 51: } - ( cc: [ '0'..'7' ]; s: 51), - ( cc: [ 'L' ]; s: 56), { 52: } - ( cc: [ 'r' ]; s: 57), + ( cc: [ '.',':','G'..'K','M'..'Z','\','_','g'..'z' ]; s: 39), + ( cc: [ '0'..'9','A'..'F','a'..'f' ]; s: 52), + ( cc: [ 'L' ]; s: 59), { 53: } - ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 41), - ( cc: [ 'I' ]; s: 60), + ( cc: [ '.','8'..':','A'..'K','M'..'Z','\','_','a'..'z' ]; s: 39), + ( cc: [ '0'..'7' ]; s: 53), + ( cc: [ 'L' ]; s: 60), { 54: } - ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 41), + ( cc: [ 'r' ]; s: 61), { 55: } + ( cc: [ 'r' ]; s: 62), { 56: } + ( cc: [ 'a' ]; s: 63), { 57: } - ( cc: [ 'i' ]; s: 79), + ( cc: [ '.',':','\' ]; s: 39), + ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 43), + ( cc: [ 'I' ]; s: 64), { 58: } - ( cc: [ 'F' ]; s: 78), + ( cc: [ '.',':','\' ]; s: 39), + ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 43), { 59: } - ( cc: [ 'n' ]; s: 61), + ( cc: [ '.','0'..':','A'..'Z','\','_','a'..'z' ]; s: 39), { 60: } - ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 41), - ( cc: [ 'N' ]; s: 62), + ( cc: [ '.','0'..':','A'..'Z','\','_','a'..'z' ]; s: 39), { 61: } - ( cc: [ 's' ]; s: 80), + ( cc: [ 'i' ]; s: 65), { 62: } - ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 41), + ( cc: [ 'F' ]; s: 66), { 63: } - ( cc: [ 'g' ]; s: 93), + ( cc: [ 'n' ]; s: 67), { 64: } - ( cc: [ 'l' ]; s: 65), + ( cc: [ '.',':','\' ]; s: 39), + ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 43), + ( cc: [ 'N' ]; s: 68), { 65: } - ( cc: [ 'e' ]; s: 67), + ( cc: [ 'n' ]; s: 69), { 66: } - ( cc: [ 'a' ]; s: 75), + ( cc: [ 'i' ]; s: 70), { 67: } - ( cc: [ 'I' ]; s: 83), + ( cc: [ 's' ]; s: 71), { 68: } - ( cc: [ 'f' ]; s: 70), + ( cc: [ '.',':','\' ]; s: 39), + ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 43), { 69: } - ( cc: [ 'o' ]; s: 85), + ( cc: [ 'g' ]; s: 72), { 70: } - ( cc: [ 'o' ]; s: 71), + ( cc: [ 'l' ]; s: 73), { 71: } - ( cc: [ '"' ]; s: 72), + ( cc: [ 'l' ]; s: 74), { 72: } + ( cc: [ 'F' ]; s: 75), { 73: } + ( cc: [ 'e' ]; s: 76), { 74: } + ( cc: [ 'a' ]; s: 77), { 75: } - ( cc: [ 't' ]; s: 82), + ( cc: [ 'i' ]; s: 78), { 76: } - ( cc: [ 'a' ]; s: 59), + ( cc: [ 'I' ]; s: 79), { 77: } - ( cc: [ 'r' ]; s: 58), + ( cc: [ 't' ]; s: 80), { 78: } - ( cc: [ 'i' ]; s: 64), + ( cc: [ 'l' ]; s: 81), { 79: } - ( cc: [ 'n' ]; s: 63), + ( cc: [ 'n' ]; s: 82), { 80: } - ( cc: [ 'l' ]; s: 66), + ( cc: [ 'i' ]; s: 83), { 81: } - ( cc: [ '"' ]; s: 73), + ( cc: [ 'e' ]; s: 84), { 82: } - ( cc: [ 'i' ]; s: 69), + ( cc: [ 'f' ]; s: 85), { 83: } - ( cc: [ 'n' ]; s: 68), + ( cc: [ 'o' ]; s: 86), { 84: } - ( cc: [ '"' ]; s: 74), + ( cc: [ 'I' ]; s: 87), { 85: } - ( cc: [ 'n' ]; s: 81), + ( cc: [ 'o' ]; s: 88), { 86: } - ( cc: [ 'o' ]; s: 84), + ( cc: [ 'n' ]; s: 89), { 87: } - ( cc: [ 'f' ]; s: 86), + ( cc: [ 'n' ]; s: 90), { 88: } - ( cc: [ 'n' ]; s: 87), + ( cc: [ '"' ]; s: 91), { 89: } - ( cc: [ 'I' ]; s: 88), + ( cc: [ '"' ]; s: 92), { 90: } - ( cc: [ 'e' ]; s: 89), + ( cc: [ 'f' ]; s: 93), { 91: } - ( cc: [ 'l' ]; s: 90), { 92: } - ( cc: [ 'i' ]; s: 91), { 93: } - ( cc: [ 'F' ]; s: 92) + ( cc: [ 'o' ]; s: 94), +{ 94: } + ( cc: [ '"' ]; s: 95) +{ 95: } ); yykl : array [0..yynstates-1] of Integer = ( { 0: } 1, -{ 1: } 1, -{ 2: } 1, -{ 3: } 1, -{ 4: } 1, -{ 5: } 1, -{ 6: } 1, -{ 7: } 1, -{ 8: } 1, -{ 9: } 1, -{ 10: } 1, -{ 11: } 3, -{ 12: } 5, -{ 13: } 7, -{ 14: } 9, -{ 15: } 11, -{ 16: } 13, -{ 17: } 15, -{ 18: } 17, -{ 19: } 19, -{ 20: } 21, -{ 21: } 22, -{ 22: } 24, -{ 23: } 26, -{ 24: } 27, -{ 25: } 28, -{ 26: } 29, -{ 27: } 30, -{ 28: } 31, -{ 29: } 32, -{ 30: } 34, -{ 31: } 35, -{ 32: } 36, -{ 33: } 37, -{ 34: } 39, -{ 35: } 40, -{ 36: } 41, -{ 37: } 42, -{ 38: } 43, -{ 39: } 43, -{ 40: } 43, -{ 41: } 44, -{ 42: } 45, -{ 43: } 45, -{ 44: } 45, -{ 45: } 45, -{ 46: } 46, -{ 47: } 47, -{ 48: } 48, -{ 49: } 49, -{ 50: } 50, -{ 51: } 51, -{ 52: } 52, -{ 53: } 52, -{ 54: } 53, -{ 55: } 55, -{ 56: } 56, -{ 57: } 57, -{ 58: } 57, -{ 59: } 57, -{ 60: } 57, -{ 61: } 58, -{ 62: } 58, -{ 63: } 60, -{ 64: } 60, -{ 65: } 60, -{ 66: } 60, -{ 67: } 60, -{ 68: } 60, -{ 69: } 60, -{ 70: } 60, -{ 71: } 60, -{ 72: } 60, -{ 73: } 61, -{ 74: } 62, -{ 75: } 63, -{ 76: } 63, -{ 77: } 63, -{ 78: } 63, -{ 79: } 63, -{ 80: } 63, -{ 81: } 63, -{ 82: } 63, -{ 83: } 63, -{ 84: } 63, -{ 85: } 63, -{ 86: } 63, -{ 87: } 63, -{ 88: } 63, -{ 89: } 63, -{ 90: } 63, -{ 91: } 63, -{ 92: } 63, -{ 93: } 63 +{ 1: } 2, +{ 2: } 3, +{ 3: } 3, +{ 4: } 3, +{ 5: } 3, +{ 6: } 3, +{ 7: } 3, +{ 8: } 3, +{ 9: } 3, +{ 10: } 3, +{ 11: } 5, +{ 12: } 8, +{ 13: } 11, +{ 14: } 14, +{ 15: } 16, +{ 16: } 19, +{ 17: } 21, +{ 18: } 24, +{ 19: } 26, +{ 20: } 29, +{ 21: } 31, +{ 22: } 32, +{ 23: } 34, +{ 24: } 36, +{ 25: } 37, +{ 26: } 38, +{ 27: } 39, +{ 28: } 40, +{ 29: } 41, +{ 30: } 42, +{ 31: } 44, +{ 32: } 45, +{ 33: } 46, +{ 34: } 47, +{ 35: } 49, +{ 36: } 50, +{ 37: } 51, +{ 38: } 53, +{ 39: } 55, +{ 40: } 56, +{ 41: } 57, +{ 42: } 58, +{ 43: } 59, +{ 44: } 61, +{ 45: } 61, +{ 46: } 61, +{ 47: } 61, +{ 48: } 63, +{ 49: } 65, +{ 50: } 66, +{ 51: } 67, +{ 52: } 68, +{ 53: } 70, +{ 54: } 72, +{ 55: } 72, +{ 56: } 72, +{ 57: } 72, +{ 58: } 74, +{ 59: } 77, +{ 60: } 79, +{ 61: } 81, +{ 62: } 81, +{ 63: } 81, +{ 64: } 81, +{ 65: } 83, +{ 66: } 83, +{ 67: } 83, +{ 68: } 83, +{ 69: } 86, +{ 70: } 86, +{ 71: } 86, +{ 72: } 86, +{ 73: } 86, +{ 74: } 86, +{ 75: } 86, +{ 76: } 86, +{ 77: } 86, +{ 78: } 86, +{ 79: } 86, +{ 80: } 86, +{ 81: } 86, +{ 82: } 86, +{ 83: } 86, +{ 84: } 86, +{ 85: } 86, +{ 86: } 86, +{ 87: } 86, +{ 88: } 86, +{ 89: } 86, +{ 90: } 86, +{ 91: } 86, +{ 92: } 87, +{ 93: } 88, +{ 94: } 88, +{ 95: } 88 ); yykh : array [0..yynstates-1] of Integer = ( -{ 0: } 0, -{ 1: } 0, -{ 2: } 0, -{ 3: } 0, -{ 4: } 0, -{ 5: } 0, -{ 6: } 0, -{ 7: } 0, -{ 8: } 0, -{ 9: } 0, -{ 10: } 2, -{ 11: } 4, -{ 12: } 6, -{ 13: } 8, -{ 14: } 10, -{ 15: } 12, -{ 16: } 14, -{ 17: } 16, -{ 18: } 18, -{ 19: } 20, -{ 20: } 21, -{ 21: } 23, -{ 22: } 25, -{ 23: } 26, -{ 24: } 27, -{ 25: } 28, -{ 26: } 29, -{ 27: } 30, -{ 28: } 31, -{ 29: } 33, -{ 30: } 34, -{ 31: } 35, -{ 32: } 36, -{ 33: } 38, -{ 34: } 39, -{ 35: } 40, -{ 36: } 41, -{ 37: } 42, -{ 38: } 42, -{ 39: } 42, -{ 40: } 43, -{ 41: } 44, -{ 42: } 44, -{ 43: } 44, -{ 44: } 44, -{ 45: } 45, -{ 46: } 46, -{ 47: } 47, -{ 48: } 48, -{ 49: } 49, -{ 50: } 50, -{ 51: } 51, -{ 52: } 51, -{ 53: } 52, -{ 54: } 54, -{ 55: } 55, -{ 56: } 56, -{ 57: } 56, -{ 58: } 56, -{ 59: } 56, -{ 60: } 57, -{ 61: } 57, -{ 62: } 59, -{ 63: } 59, -{ 64: } 59, -{ 65: } 59, -{ 66: } 59, -{ 67: } 59, -{ 68: } 59, -{ 69: } 59, -{ 70: } 59, -{ 71: } 59, -{ 72: } 60, -{ 73: } 61, -{ 74: } 62, -{ 75: } 62, -{ 76: } 62, -{ 77: } 62, -{ 78: } 62, -{ 79: } 62, -{ 80: } 62, -{ 81: } 62, -{ 82: } 62, -{ 83: } 62, -{ 84: } 62, -{ 85: } 62, -{ 86: } 62, -{ 87: } 62, -{ 88: } 62, -{ 89: } 62, -{ 90: } 62, -{ 91: } 62, -{ 92: } 62, -{ 93: } 62 +{ 0: } 1, +{ 1: } 2, +{ 2: } 2, +{ 3: } 2, +{ 4: } 2, +{ 5: } 2, +{ 6: } 2, +{ 7: } 2, +{ 8: } 2, +{ 9: } 2, +{ 10: } 4, +{ 11: } 7, +{ 12: } 10, +{ 13: } 13, +{ 14: } 15, +{ 15: } 18, +{ 16: } 20, +{ 17: } 23, +{ 18: } 25, +{ 19: } 28, +{ 20: } 30, +{ 21: } 31, +{ 22: } 33, +{ 23: } 35, +{ 24: } 36, +{ 25: } 37, +{ 26: } 38, +{ 27: } 39, +{ 28: } 40, +{ 29: } 41, +{ 30: } 43, +{ 31: } 44, +{ 32: } 45, +{ 33: } 46, +{ 34: } 48, +{ 35: } 49, +{ 36: } 50, +{ 37: } 52, +{ 38: } 54, +{ 39: } 55, +{ 40: } 56, +{ 41: } 57, +{ 42: } 58, +{ 43: } 60, +{ 44: } 60, +{ 45: } 60, +{ 46: } 60, +{ 47: } 62, +{ 48: } 64, +{ 49: } 65, +{ 50: } 66, +{ 51: } 67, +{ 52: } 69, +{ 53: } 71, +{ 54: } 71, +{ 55: } 71, +{ 56: } 71, +{ 57: } 73, +{ 58: } 76, +{ 59: } 78, +{ 60: } 80, +{ 61: } 80, +{ 62: } 80, +{ 63: } 80, +{ 64: } 82, +{ 65: } 82, +{ 66: } 82, +{ 67: } 82, +{ 68: } 85, +{ 69: } 85, +{ 70: } 85, +{ 71: } 85, +{ 72: } 85, +{ 73: } 85, +{ 74: } 85, +{ 75: } 85, +{ 76: } 85, +{ 77: } 85, +{ 78: } 85, +{ 79: } 85, +{ 80: } 85, +{ 81: } 85, +{ 82: } 85, +{ 83: } 85, +{ 84: } 85, +{ 85: } 85, +{ 86: } 85, +{ 87: } 85, +{ 88: } 85, +{ 89: } 85, +{ 90: } 85, +{ 91: } 86, +{ 92: } 87, +{ 93: } 87, +{ 94: } 87, +{ 95: } 88 ); yyml : array [0..yynstates-1] of Integer = ( { 0: } 1, -{ 1: } 1, -{ 2: } 1, -{ 3: } 1, -{ 4: } 1, -{ 5: } 1, -{ 6: } 1, -{ 7: } 1, -{ 8: } 1, -{ 9: } 1, -{ 10: } 1, -{ 11: } 3, -{ 12: } 5, -{ 13: } 7, -{ 14: } 9, -{ 15: } 11, -{ 16: } 13, -{ 17: } 15, -{ 18: } 17, -{ 19: } 19, -{ 20: } 21, -{ 21: } 22, -{ 22: } 24, -{ 23: } 26, -{ 24: } 27, -{ 25: } 28, -{ 26: } 29, -{ 27: } 30, -{ 28: } 31, -{ 29: } 32, -{ 30: } 34, -{ 31: } 35, -{ 32: } 36, -{ 33: } 37, -{ 34: } 39, -{ 35: } 40, -{ 36: } 41, -{ 37: } 42, -{ 38: } 43, -{ 39: } 43, -{ 40: } 43, -{ 41: } 44, -{ 42: } 45, -{ 43: } 45, -{ 44: } 45, -{ 45: } 45, -{ 46: } 46, -{ 47: } 47, -{ 48: } 48, -{ 49: } 49, -{ 50: } 50, -{ 51: } 51, -{ 52: } 52, -{ 53: } 52, -{ 54: } 53, -{ 55: } 55, -{ 56: } 56, -{ 57: } 57, -{ 58: } 57, -{ 59: } 57, -{ 60: } 57, -{ 61: } 58, -{ 62: } 58, -{ 63: } 60, -{ 64: } 60, -{ 65: } 60, -{ 66: } 60, -{ 67: } 60, -{ 68: } 60, -{ 69: } 60, -{ 70: } 60, -{ 71: } 60, -{ 72: } 60, -{ 73: } 61, -{ 74: } 62, -{ 75: } 63, -{ 76: } 63, -{ 77: } 63, -{ 78: } 63, -{ 79: } 63, -{ 80: } 63, -{ 81: } 63, -{ 82: } 63, -{ 83: } 63, -{ 84: } 63, -{ 85: } 63, -{ 86: } 63, -{ 87: } 63, -{ 88: } 63, -{ 89: } 63, -{ 90: } 63, -{ 91: } 63, -{ 92: } 63, -{ 93: } 63 +{ 1: } 2, +{ 2: } 3, +{ 3: } 3, +{ 4: } 3, +{ 5: } 3, +{ 6: } 3, +{ 7: } 3, +{ 8: } 3, +{ 9: } 3, +{ 10: } 3, +{ 11: } 5, +{ 12: } 8, +{ 13: } 11, +{ 14: } 14, +{ 15: } 16, +{ 16: } 19, +{ 17: } 21, +{ 18: } 24, +{ 19: } 26, +{ 20: } 29, +{ 21: } 31, +{ 22: } 32, +{ 23: } 34, +{ 24: } 36, +{ 25: } 37, +{ 26: } 38, +{ 27: } 39, +{ 28: } 40, +{ 29: } 41, +{ 30: } 42, +{ 31: } 44, +{ 32: } 45, +{ 33: } 46, +{ 34: } 47, +{ 35: } 49, +{ 36: } 50, +{ 37: } 51, +{ 38: } 53, +{ 39: } 55, +{ 40: } 56, +{ 41: } 57, +{ 42: } 58, +{ 43: } 59, +{ 44: } 61, +{ 45: } 61, +{ 46: } 61, +{ 47: } 61, +{ 48: } 63, +{ 49: } 65, +{ 50: } 66, +{ 51: } 67, +{ 52: } 68, +{ 53: } 70, +{ 54: } 72, +{ 55: } 72, +{ 56: } 72, +{ 57: } 72, +{ 58: } 74, +{ 59: } 77, +{ 60: } 79, +{ 61: } 81, +{ 62: } 81, +{ 63: } 81, +{ 64: } 81, +{ 65: } 83, +{ 66: } 83, +{ 67: } 83, +{ 68: } 83, +{ 69: } 86, +{ 70: } 86, +{ 71: } 86, +{ 72: } 86, +{ 73: } 86, +{ 74: } 86, +{ 75: } 86, +{ 76: } 86, +{ 77: } 86, +{ 78: } 86, +{ 79: } 86, +{ 80: } 86, +{ 81: } 86, +{ 82: } 86, +{ 83: } 86, +{ 84: } 86, +{ 85: } 86, +{ 86: } 86, +{ 87: } 86, +{ 88: } 86, +{ 89: } 86, +{ 90: } 86, +{ 91: } 86, +{ 92: } 87, +{ 93: } 88, +{ 94: } 88, +{ 95: } 88 ); yymh : array [0..yynstates-1] of Integer = ( -{ 0: } 0, -{ 1: } 0, -{ 2: } 0, -{ 3: } 0, -{ 4: } 0, -{ 5: } 0, -{ 6: } 0, -{ 7: } 0, -{ 8: } 0, -{ 9: } 0, -{ 10: } 2, -{ 11: } 4, -{ 12: } 6, -{ 13: } 8, -{ 14: } 10, -{ 15: } 12, -{ 16: } 14, -{ 17: } 16, -{ 18: } 18, -{ 19: } 20, -{ 20: } 21, -{ 21: } 23, -{ 22: } 25, -{ 23: } 26, -{ 24: } 27, -{ 25: } 28, -{ 26: } 29, -{ 27: } 30, -{ 28: } 31, -{ 29: } 33, -{ 30: } 34, -{ 31: } 35, -{ 32: } 36, -{ 33: } 38, -{ 34: } 39, -{ 35: } 40, -{ 36: } 41, -{ 37: } 42, -{ 38: } 42, -{ 39: } 42, -{ 40: } 43, -{ 41: } 44, -{ 42: } 44, -{ 43: } 44, -{ 44: } 44, -{ 45: } 45, -{ 46: } 46, -{ 47: } 47, -{ 48: } 48, -{ 49: } 49, -{ 50: } 50, -{ 51: } 51, -{ 52: } 51, -{ 53: } 52, -{ 54: } 54, -{ 55: } 55, -{ 56: } 56, -{ 57: } 56, -{ 58: } 56, -{ 59: } 56, -{ 60: } 57, -{ 61: } 57, -{ 62: } 59, -{ 63: } 59, -{ 64: } 59, -{ 65: } 59, -{ 66: } 59, -{ 67: } 59, -{ 68: } 59, -{ 69: } 59, -{ 70: } 59, -{ 71: } 59, -{ 72: } 60, -{ 73: } 61, -{ 74: } 62, -{ 75: } 62, -{ 76: } 62, -{ 77: } 62, -{ 78: } 62, -{ 79: } 62, -{ 80: } 62, -{ 81: } 62, -{ 82: } 62, -{ 83: } 62, -{ 84: } 62, -{ 85: } 62, -{ 86: } 62, -{ 87: } 62, -{ 88: } 62, -{ 89: } 62, -{ 90: } 62, -{ 91: } 62, -{ 92: } 62, -{ 93: } 62 +{ 0: } 1, +{ 1: } 2, +{ 2: } 2, +{ 3: } 2, +{ 4: } 2, +{ 5: } 2, +{ 6: } 2, +{ 7: } 2, +{ 8: } 2, +{ 9: } 2, +{ 10: } 4, +{ 11: } 7, +{ 12: } 10, +{ 13: } 13, +{ 14: } 15, +{ 15: } 18, +{ 16: } 20, +{ 17: } 23, +{ 18: } 25, +{ 19: } 28, +{ 20: } 30, +{ 21: } 31, +{ 22: } 33, +{ 23: } 35, +{ 24: } 36, +{ 25: } 37, +{ 26: } 38, +{ 27: } 39, +{ 28: } 40, +{ 29: } 41, +{ 30: } 43, +{ 31: } 44, +{ 32: } 45, +{ 33: } 46, +{ 34: } 48, +{ 35: } 49, +{ 36: } 50, +{ 37: } 52, +{ 38: } 54, +{ 39: } 55, +{ 40: } 56, +{ 41: } 57, +{ 42: } 58, +{ 43: } 60, +{ 44: } 60, +{ 45: } 60, +{ 46: } 60, +{ 47: } 62, +{ 48: } 64, +{ 49: } 65, +{ 50: } 66, +{ 51: } 67, +{ 52: } 69, +{ 53: } 71, +{ 54: } 71, +{ 55: } 71, +{ 56: } 71, +{ 57: } 73, +{ 58: } 76, +{ 59: } 78, +{ 60: } 80, +{ 61: } 80, +{ 62: } 80, +{ 63: } 80, +{ 64: } 82, +{ 65: } 82, +{ 66: } 82, +{ 67: } 82, +{ 68: } 85, +{ 69: } 85, +{ 70: } 85, +{ 71: } 85, +{ 72: } 85, +{ 73: } 85, +{ 74: } 85, +{ 75: } 85, +{ 76: } 85, +{ 77: } 85, +{ 78: } 85, +{ 79: } 85, +{ 80: } 85, +{ 81: } 85, +{ 82: } 85, +{ 83: } 85, +{ 84: } 85, +{ 85: } 85, +{ 86: } 85, +{ 87: } 85, +{ 88: } 85, +{ 89: } 85, +{ 90: } 85, +{ 91: } 86, +{ 92: } 87, +{ 93: } 87, +{ 94: } 87, +{ 95: } 88 ); yytl : array [0..yynstates-1] of Integer = ( { 0: } 1, -{ 1: } 15, -{ 2: } 29, -{ 3: } 31, -{ 4: } 33, -{ 5: } 36, -{ 6: } 39, -{ 7: } 43, -{ 8: } 47, -{ 9: } 51, -{ 10: } 55, -{ 11: } 57, -{ 12: } 59, -{ 13: } 63, -{ 14: } 65, -{ 15: } 68, -{ 16: } 70, -{ 17: } 70, -{ 18: } 72, -{ 19: } 72, -{ 20: } 73, -{ 21: } 73, -{ 22: } 73, -{ 23: } 73, -{ 24: } 73, -{ 25: } 73, -{ 26: } 73, -{ 27: } 73, -{ 28: } 74, -{ 29: } 74, -{ 30: } 75, -{ 31: } 76, -{ 32: } 76, -{ 33: } 76, -{ 34: } 77, -{ 35: } 77, -{ 36: } 77, -{ 37: } 79, -{ 38: } 79, -{ 39: } 80, -{ 40: } 81, -{ 41: } 81, -{ 42: } 82, -{ 43: } 83, -{ 44: } 84, -{ 45: } 85, -{ 46: } 87, -{ 47: } 89, -{ 48: } 89, -{ 49: } 89, -{ 50: } 89, -{ 51: } 91, -{ 52: } 93, -{ 53: } 94, -{ 54: } 96, -{ 55: } 97, -{ 56: } 97, -{ 57: } 97, -{ 58: } 98, -{ 59: } 99, -{ 60: } 100, -{ 61: } 102, -{ 62: } 103, -{ 63: } 104, -{ 64: } 105, -{ 65: } 106, -{ 66: } 107, -{ 67: } 108, -{ 68: } 109, -{ 69: } 110, -{ 70: } 111, -{ 71: } 112, -{ 72: } 113, -{ 73: } 113, -{ 74: } 113, -{ 75: } 113, -{ 76: } 114, -{ 77: } 115, -{ 78: } 116, -{ 79: } 117, -{ 80: } 118, -{ 81: } 119, -{ 82: } 120, -{ 83: } 121, -{ 84: } 122, -{ 85: } 123, -{ 86: } 124, -{ 87: } 125, -{ 88: } 126, -{ 89: } 127, -{ 90: } 128, -{ 91: } 129, -{ 92: } 130, -{ 93: } 131 +{ 1: } 16, +{ 2: } 31, +{ 3: } 33, +{ 4: } 35, +{ 5: } 38, +{ 6: } 41, +{ 7: } 45, +{ 8: } 49, +{ 9: } 53, +{ 10: } 57, +{ 11: } 59, +{ 12: } 62, +{ 13: } 67, +{ 14: } 70, +{ 15: } 73, +{ 16: } 76, +{ 17: } 76, +{ 18: } 79, +{ 19: } 79, +{ 20: } 81, +{ 21: } 82, +{ 22: } 82, +{ 23: } 82, +{ 24: } 82, +{ 25: } 82, +{ 26: } 82, +{ 27: } 82, +{ 28: } 82, +{ 29: } 83, +{ 30: } 83, +{ 31: } 84, +{ 32: } 85, +{ 33: } 85, +{ 34: } 85, +{ 35: } 86, +{ 36: } 86, +{ 37: } 86, +{ 38: } 89, +{ 39: } 90, +{ 40: } 91, +{ 41: } 93, +{ 42: } 95, +{ 43: } 95, +{ 44: } 97, +{ 45: } 98, +{ 46: } 99, +{ 47: } 100, +{ 48: } 103, +{ 49: } 106, +{ 50: } 106, +{ 51: } 106, +{ 52: } 106, +{ 53: } 109, +{ 54: } 112, +{ 55: } 113, +{ 56: } 114, +{ 57: } 115, +{ 58: } 118, +{ 59: } 120, +{ 60: } 121, +{ 61: } 122, +{ 62: } 123, +{ 63: } 124, +{ 64: } 125, +{ 65: } 128, +{ 66: } 129, +{ 67: } 130, +{ 68: } 131, +{ 69: } 133, +{ 70: } 134, +{ 71: } 135, +{ 72: } 136, +{ 73: } 137, +{ 74: } 138, +{ 75: } 139, +{ 76: } 140, +{ 77: } 141, +{ 78: } 142, +{ 79: } 143, +{ 80: } 144, +{ 81: } 145, +{ 82: } 146, +{ 83: } 147, +{ 84: } 148, +{ 85: } 149, +{ 86: } 150, +{ 87: } 151, +{ 88: } 152, +{ 89: } 153, +{ 90: } 154, +{ 91: } 155, +{ 92: } 155, +{ 93: } 155, +{ 94: } 156, +{ 95: } 157 ); yyth : array [0..yynstates-1] of Integer = ( -{ 0: } 14, -{ 1: } 28, -{ 2: } 30, -{ 3: } 32, -{ 4: } 35, -{ 5: } 38, -{ 6: } 42, -{ 7: } 46, -{ 8: } 50, -{ 9: } 54, -{ 10: } 56, -{ 11: } 58, -{ 12: } 62, -{ 13: } 64, -{ 14: } 67, -{ 15: } 69, -{ 16: } 69, -{ 17: } 71, -{ 18: } 71, -{ 19: } 72, -{ 20: } 72, -{ 21: } 72, -{ 22: } 72, -{ 23: } 72, -{ 24: } 72, -{ 25: } 72, -{ 26: } 72, -{ 27: } 73, -{ 28: } 73, -{ 29: } 74, -{ 30: } 75, -{ 31: } 75, -{ 32: } 75, -{ 33: } 76, -{ 34: } 76, -{ 35: } 76, -{ 36: } 78, -{ 37: } 78, -{ 38: } 79, -{ 39: } 80, -{ 40: } 80, -{ 41: } 81, -{ 42: } 82, -{ 43: } 83, -{ 44: } 84, -{ 45: } 86, -{ 46: } 88, -{ 47: } 88, -{ 48: } 88, -{ 49: } 88, -{ 50: } 90, -{ 51: } 92, -{ 52: } 93, -{ 53: } 95, -{ 54: } 96, -{ 55: } 96, -{ 56: } 96, -{ 57: } 97, -{ 58: } 98, -{ 59: } 99, -{ 60: } 101, -{ 61: } 102, -{ 62: } 103, -{ 63: } 104, -{ 64: } 105, -{ 65: } 106, -{ 66: } 107, -{ 67: } 108, -{ 68: } 109, -{ 69: } 110, -{ 70: } 111, -{ 71: } 112, -{ 72: } 112, -{ 73: } 112, -{ 74: } 112, -{ 75: } 113, -{ 76: } 114, -{ 77: } 115, -{ 78: } 116, -{ 79: } 117, -{ 80: } 118, -{ 81: } 119, -{ 82: } 120, -{ 83: } 121, -{ 84: } 122, -{ 85: } 123, -{ 86: } 124, -{ 87: } 125, -{ 88: } 126, -{ 89: } 127, -{ 90: } 128, -{ 91: } 129, -{ 92: } 130, -{ 93: } 131 +{ 0: } 15, +{ 1: } 30, +{ 2: } 32, +{ 3: } 34, +{ 4: } 37, +{ 5: } 40, +{ 6: } 44, +{ 7: } 48, +{ 8: } 52, +{ 9: } 56, +{ 10: } 58, +{ 11: } 61, +{ 12: } 66, +{ 13: } 69, +{ 14: } 72, +{ 15: } 75, +{ 16: } 75, +{ 17: } 78, +{ 18: } 78, +{ 19: } 80, +{ 20: } 81, +{ 21: } 81, +{ 22: } 81, +{ 23: } 81, +{ 24: } 81, +{ 25: } 81, +{ 26: } 81, +{ 27: } 81, +{ 28: } 82, +{ 29: } 82, +{ 30: } 83, +{ 31: } 84, +{ 32: } 84, +{ 33: } 84, +{ 34: } 85, +{ 35: } 85, +{ 36: } 85, +{ 37: } 88, +{ 38: } 89, +{ 39: } 90, +{ 40: } 92, +{ 41: } 94, +{ 42: } 94, +{ 43: } 96, +{ 44: } 97, +{ 45: } 98, +{ 46: } 99, +{ 47: } 102, +{ 48: } 105, +{ 49: } 105, +{ 50: } 105, +{ 51: } 105, +{ 52: } 108, +{ 53: } 111, +{ 54: } 112, +{ 55: } 113, +{ 56: } 114, +{ 57: } 117, +{ 58: } 119, +{ 59: } 120, +{ 60: } 121, +{ 61: } 122, +{ 62: } 123, +{ 63: } 124, +{ 64: } 127, +{ 65: } 128, +{ 66: } 129, +{ 67: } 130, +{ 68: } 132, +{ 69: } 133, +{ 70: } 134, +{ 71: } 135, +{ 72: } 136, +{ 73: } 137, +{ 74: } 138, +{ 75: } 139, +{ 76: } 140, +{ 77: } 141, +{ 78: } 142, +{ 79: } 143, +{ 80: } 144, +{ 81: } 145, +{ 82: } 146, +{ 83: } 147, +{ 84: } 148, +{ 85: } 149, +{ 86: } 150, +{ 87: } 151, +{ 88: } 152, +{ 89: } 153, +{ 90: } 154, +{ 91: } 154, +{ 92: } 154, +{ 93: } 155, +{ 94: } 156, +{ 95: } 156 ); diff --git a/packages/fcl-res/src/rclex.l b/packages/fcl-res/src/rclex.l index be7bc7af29..68218e1d41 100644 --- a/packages/fcl-res/src/rclex.l +++ b/packages/fcl-res/src/rclex.l @@ -63,6 +63,7 @@ O [0-7] D [0-9] H [0-9a-fA-F] IDENT [a-zA-Z_]([a-zA-Z0-9_])* +NSWPSTR ([a-zA-Z0-9_\:\.\\])* %% @@ -108,6 +109,7 @@ END|} return(_END); else return(_ID); end; +{NSWPSTR} return(_NSWPSTR); [ \t\n\f] ; [,()|^&+-*/%~] returnc(yytext[1]); . return(_ILLEGAL); diff --git a/packages/fcl-res/src/rcparser.pas b/packages/fcl-res/src/rcparser.pas index 36d30c8a27..976713737d 100644 --- a/packages/fcl-res/src/rcparser.pas +++ b/packages/fcl-res/src/rcparser.pas @@ -21,46 +21,47 @@ const _STR_Translation = 263; const _BEGIN = 264; const _END = 265; const _ID = 266; -const _LANGUAGE = 267; -const _CHARACTERISTICS = 268; -const _VERSION = 269; -const _MOVEABLE = 270; -const _FIXED = 271; -const _PURE = 272; -const _IMPURE = 273; -const _PRELOAD = 274; -const _LOADONCALL = 275; -const _DISCARDABLE = 276; -const _BITMAP = 277; -const _CURSOR = 278; -const _ICON = 279; -const _STRINGTABLE = 280; -const _VERSIONINFO = 281; -const _ANICURSOR = 282; -const _ANIICON = 283; -const _DLGINCLUDE = 284; -const _DLGINIT = 285; -const _HTML = 286; -const _MANIFEST = 287; -const _MESSAGETABLE = 288; -const _PLUGPLAY = 289; -const _RCDATA = 290; -const _VXD = 291; -const _FILEVERSION = 292; -const _PRODUCTVERSION = 293; -const _FILEFLAGSMASK = 294; -const _FILEFLAGS = 295; -const _FILEOS = 296; -const _FILETYPE = 297; -const _FILESUBTYPE = 298; -const _BLOCK = 299; -const _VALUE = 300; -const _ACCELERATORS = 301; -const _DIALOG = 302; -const _DIALOGEX = 303; -const _MENU = 304; -const _MENUEX = 305; -const _NUMNEG = 306; +const _NSWPSTR = 267; +const _LANGUAGE = 268; +const _CHARACTERISTICS = 269; +const _VERSION = 270; +const _MOVEABLE = 271; +const _FIXED = 272; +const _PURE = 273; +const _IMPURE = 274; +const _PRELOAD = 275; +const _LOADONCALL = 276; +const _DISCARDABLE = 277; +const _BITMAP = 278; +const _CURSOR = 279; +const _ICON = 280; +const _STRINGTABLE = 281; +const _VERSIONINFO = 282; +const _ANICURSOR = 283; +const _ANIICON = 284; +const _DLGINCLUDE = 285; +const _DLGINIT = 286; +const _HTML = 287; +const _MANIFEST = 288; +const _MESSAGETABLE = 289; +const _PLUGPLAY = 290; +const _RCDATA = 291; +const _VXD = 292; +const _FILEVERSION = 293; +const _PRODUCTVERSION = 294; +const _FILEFLAGSMASK = 295; +const _FILEFLAGS = 296; +const _FILEOS = 297; +const _FILETYPE = 298; +const _FILESUBTYPE = 299; +const _BLOCK = 300; +const _VALUE = 301; +const _ACCELERATORS = 302; +const _DIALOG = 303; +const _DIALOGEX = 304; +const _MENU = 305; +const _MENUEX = 306; +const _NUMNEG = 307; type YYSType = record case Integer of 1 : ( yyTFileStream : TFileStream ); @@ -347,47 +348,68 @@ begin yyval := yyv[yysp-0]; end; 90 : begin - yyval.yyTFileStream:= TFileStream.Create(ExpandFileName(yyv[yysp-0].yyrcstrtype.v^), fmOpenRead or fmShareDenyWrite); + string_new(yyval.yyrcstrtype, yytext, opt_code_page); end; 91 : begin - string_new_uni(yyval.yyrcstrtype, @strbuf[0], strbuflen, opt_code_page, true); + yyval.yyTFileStream:= TFileStream.Create(yyv[yysp-0].yyrcstrtype.v^, fmOpenRead or fmShareDenyWrite); end; 92 : begin - string_new_uni(yyval.yyrcstrtype, @strbuf[0], strbuflen, CP_UTF16, true); + yyval.yyTFileStream:= TFileStream.Create(yyv[yysp-0].yyrcstrtype.v^, fmOpenRead or fmShareDenyWrite); end; 93 : begin - string_new(yyval.yyrcstrtype, yytext, opt_code_page); + string_new_uni(yyval.yyrcstrtype, @strbuf[0], strbuflen, opt_code_page, false); end; 94 : begin - string_new(yyval.yyrcstrtype, yytext, opt_code_page); + string_new_uni(yyval.yyrcstrtype, @strbuf[0], strbuflen, CP_UTF16, false); end; 95 : begin string_new(yyval.yyrcstrtype, yytext, opt_code_page); end; 96 : begin - yyval.yyTMemoryStream:= TMemoryStream.Create; + string_new(yyval.yyrcstrtype, yytext, opt_code_page); end; 97 : begin - yyval := yyv[yysp-1]; + string_new(yyval.yyrcstrtype, yytext, opt_code_page); end; 98 : begin - yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream; + string_new_uni(yyval.yyrcstrtype, @strbuf[0], strbuflen, opt_code_page, true); end; 99 : begin - yyval := yyv[yysp-3]; + string_new_uni(yyval.yyrcstrtype, @strbuf[0], strbuflen, CP_UTF16, true); end; 100 : begin + string_new(yyval.yyrcstrtype, yytext, opt_code_page); + end; + 101 : begin + string_new(yyval.yyrcstrtype, yytext, opt_code_page); + end; + 102 : begin + string_new(yyval.yyrcstrtype, yytext, opt_code_page); + end; + 103 : begin + yyval.yyTMemoryStream:= TMemoryStream.Create; + end; + 104 : begin + yyval := yyv[yysp-1]; + end; + 105 : begin + yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream; + end; + 106 : begin + yyval := yyv[yysp-3]; + end; + 107 : begin yyval.yyTMemoryStream:= yyv[yysp-0].yyTMemoryStream; end; - 101 : begin + 108 : begin yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream; raw_write_string(yyval.yyTMemoryStream, yyv[yysp-0].yyrcstrtype); end; - 102 : begin + 109 : begin yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream; raw_write_int(yyval.yyTMemoryStream, yyv[yysp-0].yyrcnumtype); @@ -407,10 +429,10 @@ type YYARec = record const -yynacts = 643; -yyngotos = 141; -yynstates = 180; -yynrules = 102; +yynacts = 654; +yyngotos = 145; +yynstates = 187; +yynrules = 109; yya : array [1..yynacts] of YYARec = ( { 0: } @@ -426,8 +448,8 @@ yya : array [1..yynacts] of YYARec = ( ( sym: 262; act: 24 ), ( sym: 263; act: 25 ), ( sym: 266; act: 26 ), - ( sym: 267; act: 27 ), - ( sym: 280; act: 28 ), + ( sym: 268; act: 27 ), + ( sym: 281; act: 28 ), { 2: } { 3: } { 4: } @@ -448,20 +470,20 @@ yya : array [1..yynacts] of YYARec = ( ( sym: 262; act: 24 ), ( sym: 263; act: 25 ), ( sym: 266; act: 26 ), - ( sym: 277; act: 31 ), - ( sym: 278; act: 32 ), - ( sym: 279; act: 33 ), - ( sym: 281; act: 34 ), - ( sym: 282; act: 35 ), - ( sym: 283; act: 36 ), - ( sym: 284; act: 37 ), - ( sym: 285; act: 38 ), - ( sym: 286; act: 39 ), - ( sym: 287; act: 40 ), - ( sym: 288; act: 41 ), - ( sym: 289; act: 42 ), - ( sym: 290; act: 43 ), - ( sym: 291; act: 44 ), + ( sym: 278; act: 31 ), + ( sym: 279; act: 32 ), + ( sym: 280; act: 33 ), + ( sym: 282; act: 34 ), + ( sym: 283; act: 35 ), + ( sym: 284; act: 36 ), + ( sym: 285; act: 37 ), + ( sym: 286; act: 38 ), + ( sym: 287; act: 39 ), + ( sym: 288; act: 40 ), + ( sym: 289; act: 41 ), + ( sym: 290; act: 42 ), + ( sym: 291; act: 43 ), + ( sym: 292; act: 44 ), { 12: } { 13: } { 14: } @@ -518,6 +540,7 @@ yya : array [1..yynacts] of YYARec = ( ( sym: 296; act: -74 ), ( sym: 297; act: -74 ), ( sym: 298; act: -74 ), + ( sym: 299; act: -74 ), { 16: } { 17: } ( sym: 40; act: 17 ), @@ -563,6 +586,7 @@ yya : array [1..yynacts] of YYARec = ( ( sym: 274; act: -38 ), ( sym: 275; act: -38 ), ( sym: 276; act: -38 ), + ( sym: 277; act: -38 ), ( sym: 264; act: -40 ), { 30: } { 31: } @@ -695,6 +719,7 @@ yya : array [1..yynacts] of YYARec = ( ( sym: 296; act: -85 ), ( sym: 297; act: -85 ), ( sym: 298; act: -85 ), + ( sym: 299; act: -85 ), { 66: } { 67: } ( sym: 37; act: 45 ), @@ -750,6 +775,7 @@ yya : array [1..yynacts] of YYARec = ( ( sym: 296; act: -83 ), ( sym: 297; act: -83 ), ( sym: 298; act: -83 ), + ( sym: 299; act: -83 ), { 68: } ( sym: 37; act: 45 ), ( sym: 42; act: 47 ), @@ -804,6 +830,7 @@ yya : array [1..yynacts] of YYARec = ( ( sym: 296; act: -84 ), ( sym: 297; act: -84 ), ( sym: 298; act: -84 ), + ( sym: 299; act: -84 ), { 69: } { 70: } ( sym: 37; act: 45 ), @@ -859,6 +886,7 @@ yya : array [1..yynacts] of YYARec = ( ( sym: 296; act: -86 ), ( sym: 297; act: -86 ), ( sym: 298; act: -86 ), + ( sym: 299; act: -86 ), { 71: } ( sym: 37; act: 45 ), ( sym: 38; act: 46 ), @@ -913,6 +941,7 @@ yya : array [1..yynacts] of YYARec = ( ( sym: 296; act: -87 ), ( sym: 297; act: -87 ), ( sym: 298; act: -87 ), + ( sym: 299; act: -87 ), { 72: } { 73: } ( sym: 40; act: 17 ), @@ -921,101 +950,105 @@ yya : array [1..yynacts] of YYARec = ( ( sym: 258; act: 20 ), { 74: } ( sym: 264; act: 83 ), - ( sym: 267; act: 84 ), - ( sym: 268; act: 85 ), - ( sym: 269; act: 86 ), - ( sym: 270; act: 87 ), - ( sym: 271; act: 88 ), - ( sym: 272; act: 89 ), - ( sym: 273; act: 90 ), - ( sym: 274; act: 91 ), - ( sym: 275; act: 92 ), - ( sym: 276; act: 93 ), + ( sym: 268; act: 84 ), + ( sym: 269; act: 85 ), + ( sym: 270; act: 86 ), + ( sym: 271; act: 87 ), + ( sym: 272; act: 88 ), + ( sym: 273; act: 89 ), + ( sym: 274; act: 90 ), + ( sym: 275; act: 91 ), + ( sym: 276; act: 92 ), + ( sym: 277; act: 93 ), { 75: } ( sym: 264; act: 94 ), - ( sym: 267; act: 84 ), - ( sym: 268; act: 85 ), - ( sym: 269; act: 86 ), - ( sym: 270; act: 87 ), - ( sym: 271; act: 88 ), - ( sym: 272; act: 89 ), - ( sym: 273; act: 90 ), - ( sym: 274; act: 91 ), - ( sym: 275; act: 92 ), - ( sym: 276; act: 93 ), + ( sym: 268; act: 84 ), + ( sym: 269; act: 85 ), + ( sym: 270; act: 86 ), + ( sym: 271; act: 87 ), + ( sym: 272; act: 88 ), + ( sym: 273; act: 89 ), + ( sym: 274; act: 90 ), + ( sym: 275; act: 91 ), + ( sym: 276; act: 92 ), + ( sym: 277; act: 93 ), { 76: } - ( sym: 259; act: 21 ), - ( sym: 260; act: 22 ), - ( sym: 261; act: 23 ), - ( sym: 262; act: 24 ), - ( sym: 263; act: 25 ), - ( sym: 267; act: 84 ), - ( sym: 268; act: 85 ), - ( sym: 269; act: 86 ), - ( sym: 270; act: 87 ), - ( sym: 271; act: 88 ), - ( sym: 272; act: 89 ), - ( sym: 273; act: 90 ), - ( sym: 274; act: 91 ), - ( sym: 275; act: 92 ), - ( sym: 276; act: 93 ), + ( sym: 259; act: 98 ), + ( sym: 260; act: 99 ), + ( sym: 261; act: 100 ), + ( sym: 262; act: 101 ), + ( sym: 263; act: 102 ), + ( sym: 267; act: 103 ), + ( sym: 268; act: 84 ), + ( sym: 269; act: 85 ), + ( sym: 270; act: 86 ), + ( sym: 271; act: 87 ), + ( sym: 272; act: 88 ), + ( sym: 273; act: 89 ), + ( sym: 274; act: 90 ), + ( sym: 275; act: 91 ), + ( sym: 276; act: 92 ), + ( sym: 277; act: 93 ), { 77: } - ( sym: 259; act: 21 ), - ( sym: 260; act: 22 ), - ( sym: 261; act: 23 ), - ( sym: 262; act: 24 ), - ( sym: 263; act: 25 ), - ( sym: 267; act: 84 ), - ( sym: 268; act: 85 ), - ( sym: 269; act: 86 ), - ( sym: 270; act: 87 ), - ( sym: 271; act: 88 ), - ( sym: 272; act: 89 ), - ( sym: 273; act: 90 ), - ( sym: 274; act: 91 ), - ( sym: 275; act: 92 ), - ( sym: 276; act: 93 ), + ( sym: 259; act: 98 ), + ( sym: 260; act: 99 ), + ( sym: 261; act: 100 ), + ( sym: 262; act: 101 ), + ( sym: 263; act: 102 ), + ( sym: 267; act: 103 ), + ( sym: 268; act: 84 ), + ( sym: 269; act: 85 ), + ( sym: 270; act: 86 ), + ( sym: 271; act: 87 ), + ( sym: 272; act: 88 ), + ( sym: 273; act: 89 ), + ( sym: 274; act: 90 ), + ( sym: 275; act: 91 ), + ( sym: 276; act: 92 ), + ( sym: 277; act: 93 ), { 78: } - ( sym: 259; act: 21 ), - ( sym: 260; act: 22 ), - ( sym: 261; act: 23 ), - ( sym: 262; act: 24 ), - ( sym: 263; act: 25 ), - ( sym: 267; act: 84 ), - ( sym: 268; act: 85 ), - ( sym: 269; act: 86 ), - ( sym: 270; act: 87 ), - ( sym: 271; act: 88 ), - ( sym: 272; act: 89 ), - ( sym: 273; act: 90 ), - ( sym: 274; act: 91 ), - ( sym: 275; act: 92 ), - ( sym: 276; act: 93 ), + ( sym: 259; act: 98 ), + ( sym: 260; act: 99 ), + ( sym: 261; act: 100 ), + ( sym: 262; act: 101 ), + ( sym: 263; act: 102 ), + ( sym: 267; act: 103 ), + ( sym: 268; act: 84 ), + ( sym: 269; act: 85 ), + ( sym: 270; act: 86 ), + ( sym: 271; act: 87 ), + ( sym: 272; act: 88 ), + ( sym: 273; act: 89 ), + ( sym: 274; act: 90 ), + ( sym: 275; act: 91 ), + ( sym: 276; act: 92 ), + ( sym: 277; act: 93 ), { 79: } - ( sym: 259; act: 21 ), - ( sym: 260; act: 22 ), - ( sym: 261; act: 23 ), - ( sym: 262; act: 24 ), - ( sym: 263; act: 25 ), - ( sym: 267; act: 84 ), - ( sym: 268; act: 85 ), - ( sym: 269; act: 86 ), - ( sym: 270; act: 87 ), - ( sym: 271; act: 88 ), - ( sym: 272; act: 89 ), - ( sym: 273; act: 90 ), - ( sym: 274; act: 91 ), - ( sym: 275; act: 92 ), - ( sym: 276; act: 93 ), + ( sym: 259; act: 98 ), + ( sym: 260; act: 99 ), + ( sym: 261; act: 100 ), + ( sym: 262; act: 101 ), + ( sym: 263; act: 102 ), + ( sym: 267; act: 103 ), + ( sym: 268; act: 84 ), + ( sym: 269; act: 85 ), + ( sym: 270; act: 86 ), + ( sym: 271; act: 87 ), + ( sym: 272; act: 88 ), + ( sym: 273; act: 89 ), + ( sym: 274; act: 90 ), + ( sym: 275; act: 91 ), + ( sym: 276; act: 92 ), + ( sym: 277; act: 93 ), { 80: } - ( sym: 264; act: 100 ), - ( sym: 292; act: 101 ), - ( sym: 293; act: 102 ), - ( sym: 294; act: 103 ), - ( sym: 295; act: 104 ), - ( sym: 296; act: 105 ), - ( sym: 297; act: 106 ), - ( sym: 298; act: 107 ), + ( sym: 264; act: 107 ), + ( sym: 293; act: 108 ), + ( sym: 294; act: 109 ), + ( sym: 295; act: 110 ), + ( sym: 296; act: 111 ), + ( sym: 297; act: 112 ), + ( sym: 298; act: 113 ), + ( sym: 299; act: 114 ), { 81: } { 82: } { 83: } @@ -1049,209 +1082,216 @@ yya : array [1..yynacts] of YYARec = ( { 99: } { 100: } { 101: } - ( sym: 258; act: 20 ), { 102: } - ( sym: 258; act: 20 ), { 103: } - ( sym: 40; act: 17 ), - ( sym: 45; act: 18 ), - ( sym: 126; act: 19 ), - ( sym: 258; act: 20 ), { 104: } - ( sym: 40; act: 17 ), - ( sym: 45; act: 18 ), - ( sym: 126; act: 19 ), - ( sym: 258; act: 20 ), { 105: } - ( sym: 40; act: 17 ), - ( sym: 45; act: 18 ), - ( sym: 126; act: 19 ), - ( sym: 258; act: 20 ), { 106: } - ( sym: 40; act: 17 ), - ( sym: 45; act: 18 ), - ( sym: 126; act: 19 ), - ( sym: 258; act: 20 ), { 107: } - ( sym: 40; act: 17 ), - ( sym: 45; act: 18 ), - ( sym: 126; act: 19 ), - ( sym: 258; act: 20 ), { 108: } ( sym: 258; act: 20 ), - ( sym: 265; act: 124 ), { 109: } - ( sym: 44; act: 125 ), -{ 110: } -{ 111: } -{ 112: } ( sym: 258; act: 20 ), - ( sym: 259; act: 21 ), - ( sym: 260; act: 22 ), - ( sym: 261; act: 23 ), - ( sym: 262; act: 24 ), - ( sym: 263; act: 25 ), - ( sym: 44; act: -100 ), - ( sym: 265; act: -100 ), +{ 110: } + ( sym: 40; act: 17 ), + ( sym: 45; act: 18 ), + ( sym: 126; act: 19 ), + ( sym: 258; act: 20 ), +{ 111: } + ( sym: 40; act: 17 ), + ( sym: 45; act: 18 ), + ( sym: 126; act: 19 ), + ( sym: 258; act: 20 ), +{ 112: } + ( sym: 40; act: 17 ), + ( sym: 45; act: 18 ), + ( sym: 126; act: 19 ), + ( sym: 258; act: 20 ), { 113: } - ( sym: 44; act: 129 ), - ( sym: 265; act: 130 ), + ( sym: 40; act: 17 ), + ( sym: 45; act: 18 ), + ( sym: 126; act: 19 ), + ( sym: 258; act: 20 ), { 114: } - ( sym: 265; act: 131 ), - ( sym: 299; act: 132 ), + ( sym: 40; act: 17 ), + ( sym: 45; act: 18 ), + ( sym: 126; act: 19 ), + ( sym: 258; act: 20 ), { 115: } - ( sym: 44; act: 133 ), + ( sym: 258; act: 20 ), + ( sym: 265; act: 131 ), { 116: } - ( sym: 44; act: 134 ), + ( sym: 44; act: 132 ), { 117: } { 118: } { 119: } -{ 120: } -{ 121: } -{ 122: } -{ 123: } - ( sym: 44; act: 136 ), + ( sym: 258; act: 20 ), ( sym: 259; act: 21 ), ( sym: 260; act: 22 ), ( sym: 261; act: 23 ), ( sym: 262; act: 24 ), ( sym: 263; act: 25 ), + ( sym: 44; act: -107 ), + ( sym: 265; act: -107 ), +{ 120: } + ( sym: 44; act: 136 ), + ( sym: 265; act: 137 ), +{ 121: } + ( sym: 265; act: 138 ), + ( sym: 300; act: 139 ), +{ 122: } + ( sym: 44; act: 140 ), +{ 123: } + ( sym: 44; act: 141 ), { 124: } { 125: } - ( sym: 40; act: 17 ), - ( sym: 45; act: 18 ), - ( sym: 126; act: 19 ), - ( sym: 258; act: 20 ), { 126: } { 127: } { 128: } { 129: } { 130: } + ( sym: 44; act: 143 ), + ( sym: 259; act: 21 ), + ( sym: 260; act: 22 ), + ( sym: 261; act: 23 ), + ( sym: 262; act: 24 ), + ( sym: 263; act: 25 ), { 131: } { 132: } - ( sym: 261; act: 139 ), - ( sym: 262; act: 140 ), + ( sym: 40; act: 17 ), + ( sym: 45; act: 18 ), + ( sym: 126; act: 19 ), + ( sym: 258; act: 20 ), { 133: } - ( sym: 258; act: 20 ), { 134: } - ( sym: 258; act: 20 ), { 135: } { 136: } - ( sym: 259; act: 21 ), - ( sym: 260; act: 22 ), - ( sym: 261; act: 23 ), - ( sym: 262; act: 24 ), - ( sym: 263; act: 25 ), { 137: } { 138: } +{ 139: } + ( sym: 261; act: 146 ), + ( sym: 262; act: 147 ), +{ 140: } ( sym: 258; act: 20 ), +{ 141: } + ( sym: 258; act: 20 ), +{ 142: } +{ 143: } ( sym: 259; act: 21 ), ( sym: 260; act: 22 ), ( sym: 261; act: 23 ), ( sym: 262; act: 24 ), ( sym: 263; act: 25 ), - ( sym: 44; act: -100 ), - ( sym: 265; act: -100 ), -{ 139: } - ( sym: 264; act: 145 ), -{ 140: } - ( sym: 264; act: 146 ), -{ 141: } - ( sym: 44; act: 147 ), -{ 142: } - ( sym: 44; act: 148 ), -{ 143: } { 144: } { 145: } -{ 146: } - ( sym: 300; act: 151 ), -{ 147: } ( sym: 258; act: 20 ), -{ 148: } - ( sym: 258; act: 20 ), -{ 149: } - ( sym: 265; act: 154 ), - ( sym: 299; act: 155 ), -{ 150: } - ( sym: 265; act: 156 ), -{ 151: } - ( sym: 263; act: 157 ), -{ 152: } - ( sym: 44; act: 158 ), -{ 153: } - ( sym: 44; act: 159 ), -{ 154: } -{ 155: } ( sym: 259; act: 21 ), ( sym: 260; act: 22 ), ( sym: 261; act: 23 ), ( sym: 262; act: 24 ), ( sym: 263; act: 25 ), + ( sym: 44; act: -107 ), + ( sym: 265; act: -107 ), +{ 146: } + ( sym: 264; act: 152 ), +{ 147: } + ( sym: 264; act: 153 ), +{ 148: } + ( sym: 44; act: 154 ), +{ 149: } + ( sym: 44; act: 155 ), +{ 150: } +{ 151: } +{ 152: } +{ 153: } + ( sym: 301; act: 158 ), +{ 154: } + ( sym: 258; act: 20 ), +{ 155: } + ( sym: 258; act: 20 ), { 156: } + ( sym: 265; act: 161 ), + ( sym: 300; act: 162 ), { 157: } - ( sym: 44; act: 161 ), + ( sym: 265; act: 163 ), { 158: } - ( sym: 258; act: 20 ), + ( sym: 263; act: 164 ), { 159: } - ( sym: 258; act: 20 ), + ( sym: 44; act: 165 ), { 160: } - ( sym: 264; act: 164 ), + ( sym: 44; act: 166 ), { 161: } - ( sym: 258; act: 20 ), { 162: } + ( sym: 259; act: 21 ), + ( sym: 260; act: 22 ), + ( sym: 261; act: 23 ), + ( sym: 262; act: 24 ), + ( sym: 263; act: 25 ), { 163: } { 164: } -{ 165: } ( sym: 44; act: 168 ), - ( sym: 265; act: -35 ), +{ 165: } + ( sym: 258; act: 20 ), { 166: } - ( sym: 44; act: 169 ), + ( sym: 258; act: 20 ), { 167: } + ( sym: 264; act: 171 ), { 168: } ( sym: 258; act: 20 ), { 169: } - ( sym: 258; act: 20 ), { 170: } - ( sym: 265; act: 173 ), - ( sym: 300; act: 174 ), { 171: } - ( sym: 44; act: 175 ), { 172: } + ( sym: 44; act: 175 ), + ( sym: 265; act: -35 ), { 173: } + ( sym: 44; act: 176 ), { 174: } +{ 175: } + ( sym: 258; act: 20 ), +{ 176: } + ( sym: 258; act: 20 ), +{ 177: } + ( sym: 265; act: 180 ), + ( sym: 301; act: 181 ), +{ 178: } + ( sym: 44; act: 182 ), +{ 179: } +{ 180: } +{ 181: } ( sym: 259; act: 21 ), ( sym: 260; act: 22 ), ( sym: 261; act: 23 ), ( sym: 262; act: 24 ), ( sym: 263; act: 25 ), -{ 175: } +{ 182: } ( sym: 258; act: 20 ), -{ 176: } - ( sym: 44; act: 178 ), -{ 177: } -{ 178: } +{ 183: } + ( sym: 44; act: 185 ), +{ 184: } +{ 185: } ( sym: 259; act: 21 ), ( sym: 260; act: 22 ), ( sym: 261; act: 23 ), ( sym: 262; act: 24 ), ( sym: 263; act: 25 ) -{ 179: } +{ 186: } ); yyg : array [1..yyngotos] of YYARec = ( { 0: } - ( sym: -12; act: 1 ), + ( sym: -14; act: 1 ), { 1: } - ( sym: -21; act: 2 ), - ( sym: -20; act: 3 ), - ( sym: -19; act: 4 ), - ( sym: -18; act: 5 ), - ( sym: -17; act: 6 ), - ( sym: -16; act: 7 ), - ( sym: -15; act: 8 ), - ( sym: -14; act: 9 ), - ( sym: -13; act: 10 ), - ( sym: -7; act: 11 ), + ( sym: -23; act: 2 ), + ( sym: -22; act: 3 ), + ( sym: -21; act: 4 ), + ( sym: -20; act: 5 ), + ( sym: -19; act: 6 ), + ( sym: -18; act: 7 ), + ( sym: -17; act: 8 ), + ( sym: -16; act: 9 ), + ( sym: -15; act: 10 ), + ( sym: -9; act: 11 ), ( sym: -6; act: 12 ), ( sym: -5; act: 13 ), ( sym: -4; act: 14 ), @@ -1267,8 +1307,8 @@ yyg : array [1..yyngotos] of YYARec = ( { 9: } { 10: } { 11: } - ( sym: -8; act: 29 ), - ( sym: -7; act: 30 ), + ( sym: -10; act: 29 ), + ( sym: -9; act: 30 ), ( sym: -6; act: 12 ), ( sym: -5; act: 13 ), ( sym: -4; act: 14 ), @@ -1300,19 +1340,19 @@ yyg : array [1..yyngotos] of YYARec = ( ( sym: -3; act: 15 ), ( sym: -2; act: 56 ), { 28: } - ( sym: -36; act: 57 ), + ( sym: -38; act: 57 ), { 29: } - ( sym: -35; act: 58 ), - ( sym: -34; act: 59 ), + ( sym: -37; act: 58 ), + ( sym: -36; act: 59 ), { 30: } { 31: } - ( sym: -23; act: 60 ), + ( sym: -25; act: 60 ), { 32: } - ( sym: -24; act: 61 ), + ( sym: -26; act: 61 ), { 33: } - ( sym: -25; act: 62 ), + ( sym: -27; act: 62 ), { 34: } - ( sym: -27; act: 63 ), + ( sym: -29; act: 63 ), { 35: } { 36: } { 37: } @@ -1352,19 +1392,19 @@ yyg : array [1..yyngotos] of YYARec = ( { 55: } { 56: } { 57: } - ( sym: -22; act: 74 ), + ( sym: -24; act: 74 ), { 58: } - ( sym: -22; act: 75 ), + ( sym: -24; act: 75 ), { 59: } - ( sym: -22; act: 76 ), + ( sym: -24; act: 76 ), { 60: } - ( sym: -22; act: 77 ), + ( sym: -24; act: 77 ), { 61: } - ( sym: -22; act: 78 ), + ( sym: -24; act: 78 ), { 62: } - ( sym: -22; act: 79 ), + ( sym: -24; act: 79 ), { 63: } - ( sym: -26; act: 80 ), + ( sym: -28; act: 80 ), { 64: } { 65: } { 66: } @@ -1379,42 +1419,46 @@ yyg : array [1..yyngotos] of YYARec = ( ( sym: -3; act: 15 ), ( sym: -2; act: 81 ), { 74: } - ( sym: -39; act: 82 ), + ( sym: -41; act: 82 ), { 75: } - ( sym: -39; act: 82 ), + ( sym: -41; act: 82 ), { 76: } - ( sym: -39; act: 82 ), - ( sym: -11; act: 95 ), - ( sym: -6; act: 96 ), + ( sym: -41; act: 82 ), + ( sym: -13; act: 95 ), + ( sym: -8; act: 96 ), + ( sym: -7; act: 97 ), { 77: } - ( sym: -39; act: 82 ), - ( sym: -11; act: 97 ), - ( sym: -6; act: 96 ), + ( sym: -41; act: 82 ), + ( sym: -13; act: 104 ), + ( sym: -8; act: 96 ), + ( sym: -7; act: 97 ), { 78: } - ( sym: -39; act: 82 ), - ( sym: -11; act: 98 ), - ( sym: -6; act: 96 ), + ( sym: -41; act: 82 ), + ( sym: -13; act: 105 ), + ( sym: -8; act: 96 ), + ( sym: -7; act: 97 ), { 79: } - ( sym: -39; act: 82 ), - ( sym: -11; act: 99 ), - ( sym: -6; act: 96 ), + ( sym: -41; act: 82 ), + ( sym: -13; act: 106 ), + ( sym: -8; act: 96 ), + ( sym: -7; act: 97 ), { 80: } { 81: } { 82: } { 83: } - ( sym: -37; act: 108 ), + ( sym: -39; act: 115 ), { 84: } ( sym: -4; act: 14 ), ( sym: -3; act: 15 ), - ( sym: -2; act: 109 ), + ( sym: -2; act: 116 ), { 85: } ( sym: -4; act: 14 ), ( sym: -3; act: 15 ), - ( sym: -2; act: 110 ), + ( sym: -2; act: 117 ), { 86: } ( sym: -4; act: 14 ), ( sym: -3; act: 15 ), - ( sym: -2; act: 111 ), + ( sym: -2; act: 118 ), { 87: } { 88: } { 89: } @@ -1423,143 +1467,150 @@ yyg : array [1..yyngotos] of YYARec = ( { 92: } { 93: } { 94: } - ( sym: -40; act: 112 ), - ( sym: -9; act: 113 ), + ( sym: -42; act: 119 ), + ( sym: -11; act: 120 ), { 95: } { 96: } { 97: } { 98: } { 99: } { 100: } - ( sym: -28; act: 114 ), { 101: } - ( sym: -4; act: 115 ), { 102: } - ( sym: -4; act: 116 ), { 103: } - ( sym: -4; act: 14 ), - ( sym: -3; act: 15 ), - ( sym: -2; act: 117 ), { 104: } - ( sym: -4; act: 14 ), - ( sym: -3; act: 15 ), - ( sym: -2; act: 118 ), { 105: } - ( sym: -4; act: 14 ), - ( sym: -3; act: 15 ), - ( sym: -2; act: 119 ), { 106: } - ( sym: -4; act: 14 ), - ( sym: -3; act: 15 ), - ( sym: -2; act: 120 ), { 107: } + ( sym: -30; act: 121 ), +{ 108: } + ( sym: -4; act: 122 ), +{ 109: } + ( sym: -4; act: 123 ), +{ 110: } ( sym: -4; act: 14 ), ( sym: -3; act: 15 ), - ( sym: -2; act: 121 ), -{ 108: } - ( sym: -38; act: 122 ), - ( sym: -4; act: 123 ), -{ 109: } -{ 110: } + ( sym: -2; act: 124 ), { 111: } + ( sym: -4; act: 14 ), + ( sym: -3; act: 15 ), + ( sym: -2; act: 125 ), { 112: } - ( sym: -10; act: 126 ), - ( sym: -6; act: 127 ), - ( sym: -4; act: 128 ), + ( sym: -4; act: 14 ), + ( sym: -3; act: 15 ), + ( sym: -2; act: 126 ), { 113: } + ( sym: -4; act: 14 ), + ( sym: -3; act: 15 ), + ( sym: -2; act: 127 ), { 114: } + ( sym: -4; act: 14 ), + ( sym: -3; act: 15 ), + ( sym: -2; act: 128 ), { 115: } + ( sym: -40; act: 129 ), + ( sym: -4; act: 130 ), { 116: } { 117: } { 118: } { 119: } + ( sym: -12; act: 133 ), + ( sym: -6; act: 134 ), + ( sym: -4; act: 135 ), { 120: } { 121: } { 122: } { 123: } - ( sym: -6; act: 135 ), { 124: } { 125: } - ( sym: -4; act: 14 ), - ( sym: -3; act: 15 ), - ( sym: -2; act: 137 ), { 126: } { 127: } { 128: } { 129: } - ( sym: -41; act: 138 ), { 130: } + ( sym: -6; act: 142 ), { 131: } { 132: } + ( sym: -4; act: 14 ), + ( sym: -3; act: 15 ), + ( sym: -2; act: 144 ), { 133: } - ( sym: -4; act: 141 ), { 134: } - ( sym: -4; act: 142 ), { 135: } { 136: } - ( sym: -6; act: 143 ), + ( sym: -43; act: 145 ), { 137: } { 138: } - ( sym: -10; act: 144 ), - ( sym: -6; act: 127 ), - ( sym: -4; act: 128 ), { 139: } { 140: } + ( sym: -4; act: 148 ), { 141: } + ( sym: -4; act: 149 ), { 142: } { 143: } + ( sym: -6; act: 150 ), { 144: } { 145: } - ( sym: -29; act: 149 ), + ( sym: -12; act: 151 ), + ( sym: -6; act: 134 ), + ( sym: -4; act: 135 ), { 146: } - ( sym: -30; act: 150 ), { 147: } - ( sym: -4; act: 152 ), { 148: } - ( sym: -4; act: 153 ), { 149: } { 150: } { 151: } { 152: } + ( sym: -31; act: 156 ), { 153: } + ( sym: -32; act: 157 ), { 154: } + ( sym: -4; act: 159 ), { 155: } - ( sym: -6; act: 160 ), + ( sym: -4; act: 160 ), { 156: } { 157: } { 158: } - ( sym: -4; act: 162 ), { 159: } - ( sym: -4; act: 163 ), { 160: } { 161: } - ( sym: -33; act: 165 ), - ( sym: -4; act: 166 ), { 162: } + ( sym: -6; act: 167 ), { 163: } { 164: } - ( sym: -32; act: 167 ), { 165: } + ( sym: -4; act: 169 ), { 166: } + ( sym: -4; act: 170 ), { 167: } - ( sym: -31; act: 170 ), { 168: } - ( sym: -4; act: 171 ), + ( sym: -35; act: 172 ), + ( sym: -4; act: 173 ), { 169: } - ( sym: -4; act: 172 ), { 170: } { 171: } + ( sym: -34; act: 174 ), { 172: } { 173: } { 174: } - ( sym: -6; act: 176 ), + ( sym: -33; act: 177 ), { 175: } - ( sym: -4; act: 177 ), + ( sym: -4; act: 178 ), { 176: } + ( sym: -4; act: 179 ), { 177: } { 178: } - ( sym: -6; act: 179 ) { 179: } +{ 180: } +{ 181: } + ( sym: -6; act: 183 ), +{ 182: } + ( sym: -4; act: 184 ), +{ 183: } +{ 184: } +{ 185: } + ( sym: -6; act: 186 ) +{ 186: } ); yyd : array [0..yynstates-1] of Integer = ( @@ -1584,11 +1635,11 @@ yyd : array [0..yynstates-1] of Integer = ( { 18: } 0, { 19: } 0, { 20: } -75, -{ 21: } -91, -{ 22: } -92, -{ 23: } -93, -{ 24: } -94, -{ 25: } -95, +{ 21: } -98, +{ 22: } -99, +{ 23: } -100, +{ 24: } -101, +{ 25: } -102, { 26: } -88, { 27: } 0, { 28: } -42, @@ -1657,92 +1708,99 @@ yyd : array [0..yynstates-1] of Integer = ( { 91: } -70, { 92: } -71, { 93: } -72, -{ 94: } -96, +{ 94: } -103, { 95: } -39, -{ 96: } -90, -{ 97: } -12, -{ 98: } -14, -{ 99: } -16, -{ 100: } -27, -{ 101: } 0, -{ 102: } 0, -{ 103: } 0, -{ 104: } 0, -{ 105: } 0, -{ 106: } 0, -{ 107: } 0, +{ 96: } -91, +{ 97: } -92, +{ 98: } -93, +{ 99: } -94, +{ 100: } -95, +{ 101: } -96, +{ 102: } -97, +{ 103: } -90, +{ 104: } -12, +{ 105: } -14, +{ 106: } -16, +{ 107: } -27, { 108: } 0, { 109: } 0, -{ 110: } -64, -{ 111: } -65, +{ 110: } 0, +{ 111: } 0, { 112: } 0, { 113: } 0, { 114: } 0, { 115: } 0, { 116: } 0, -{ 117: } -22, -{ 118: } -23, -{ 119: } -24, -{ 120: } -25, -{ 121: } -26, -{ 122: } -45, +{ 117: } -64, +{ 118: } -65, +{ 119: } 0, +{ 120: } 0, +{ 121: } 0, +{ 122: } 0, { 123: } 0, -{ 124: } -43, -{ 125: } 0, -{ 126: } -97, -{ 127: } -101, -{ 128: } -102, -{ 129: } -98, -{ 130: } -41, -{ 131: } -18, +{ 124: } -22, +{ 125: } -23, +{ 126: } -24, +{ 127: } -25, +{ 128: } -26, +{ 129: } -45, +{ 130: } 0, +{ 131: } -43, { 132: } 0, -{ 133: } 0, -{ 134: } 0, -{ 135: } -47, -{ 136: } 0, -{ 137: } -63, -{ 138: } 0, +{ 133: } -104, +{ 134: } -108, +{ 135: } -109, +{ 136: } -105, +{ 137: } -41, +{ 138: } -18, { 139: } 0, { 140: } 0, { 141: } 0, -{ 142: } 0, -{ 143: } -46, -{ 144: } -99, -{ 145: } -30, +{ 142: } -47, +{ 143: } 0, +{ 144: } -63, +{ 145: } 0, { 146: } 0, { 147: } 0, { 148: } 0, { 149: } 0, -{ 150: } 0, -{ 151: } 0, -{ 152: } 0, +{ 150: } -46, +{ 151: } -106, +{ 152: } -30, { 153: } 0, -{ 154: } -28, +{ 154: } 0, { 155: } 0, -{ 156: } -29, +{ 156: } 0, { 157: } 0, { 158: } 0, { 159: } 0, { 160: } 0, -{ 161: } 0, -{ 162: } -20, -{ 163: } -21, -{ 164: } -31, +{ 161: } -28, +{ 162: } 0, +{ 163: } -29, +{ 164: } 0, { 165: } 0, { 166: } 0, -{ 167: } -33, +{ 167: } 0, { 168: } 0, -{ 169: } 0, -{ 170: } 0, -{ 171: } 0, -{ 172: } -36, -{ 173: } -32, -{ 174: } 0, +{ 169: } -20, +{ 170: } -21, +{ 171: } -31, +{ 172: } 0, +{ 173: } 0, +{ 174: } -33, { 175: } 0, { 176: } 0, -{ 177: } -37, +{ 177: } 0, { 178: } 0, -{ 179: } -34 +{ 179: } -36, +{ 180: } -32, +{ 181: } 0, +{ 182: } 0, +{ 183: } 0, +{ 184: } -37, +{ 185: } 0, +{ 186: } -34 ); yyal : array [0..yynstates-1] of Integer = ( @@ -1762,170 +1820,177 @@ yyal : array [0..yynstates-1] of Integer = ( { 13: } 38, { 14: } 38, { 15: } 38, -{ 16: } 90, -{ 17: } 90, -{ 18: } 94, -{ 19: } 98, -{ 20: } 102, -{ 21: } 102, -{ 22: } 102, -{ 23: } 102, -{ 24: } 102, -{ 25: } 102, -{ 26: } 102, -{ 27: } 102, -{ 28: } 106, -{ 29: } 106, -{ 30: } 122, -{ 31: } 122, -{ 32: } 122, -{ 33: } 122, -{ 34: } 122, -{ 35: } 122, -{ 36: } 122, -{ 37: } 122, -{ 38: } 122, -{ 39: } 122, -{ 40: } 122, -{ 41: } 122, -{ 42: } 122, -{ 43: } 122, -{ 44: } 122, -{ 45: } 122, -{ 46: } 126, -{ 47: } 130, -{ 48: } 134, -{ 49: } 138, -{ 50: } 142, -{ 51: } 146, -{ 52: } 150, -{ 53: } 154, -{ 54: } 163, -{ 55: } 163, -{ 56: } 163, -{ 57: } 164, -{ 58: } 164, -{ 59: } 164, -{ 60: } 164, -{ 61: } 164, -{ 62: } 164, -{ 63: } 164, -{ 64: } 164, -{ 65: } 164, -{ 66: } 217, -{ 67: } 217, -{ 68: } 270, -{ 69: } 323, -{ 70: } 323, -{ 71: } 376, -{ 72: } 429, -{ 73: } 429, -{ 74: } 433, -{ 75: } 444, -{ 76: } 455, -{ 77: } 470, -{ 78: } 485, -{ 79: } 500, -{ 80: } 515, -{ 81: } 523, -{ 82: } 523, -{ 83: } 523, -{ 84: } 523, -{ 85: } 527, -{ 86: } 531, -{ 87: } 535, -{ 88: } 535, -{ 89: } 535, -{ 90: } 535, -{ 91: } 535, -{ 92: } 535, -{ 93: } 535, -{ 94: } 535, -{ 95: } 535, -{ 96: } 535, -{ 97: } 535, -{ 98: } 535, -{ 99: } 535, -{ 100: } 535, -{ 101: } 535, -{ 102: } 536, -{ 103: } 537, -{ 104: } 541, -{ 105: } 545, -{ 106: } 549, -{ 107: } 553, -{ 108: } 557, -{ 109: } 559, -{ 110: } 560, -{ 111: } 560, -{ 112: } 560, -{ 113: } 568, -{ 114: } 570, -{ 115: } 572, -{ 116: } 573, -{ 117: } 574, -{ 118: } 574, -{ 119: } 574, -{ 120: } 574, -{ 121: } 574, -{ 122: } 574, -{ 123: } 574, -{ 124: } 580, -{ 125: } 580, -{ 126: } 584, -{ 127: } 584, -{ 128: } 584, -{ 129: } 584, -{ 130: } 584, -{ 131: } 584, -{ 132: } 584, -{ 133: } 586, -{ 134: } 587, -{ 135: } 588, -{ 136: } 588, -{ 137: } 593, -{ 138: } 593, -{ 139: } 601, -{ 140: } 602, -{ 141: } 603, -{ 142: } 604, -{ 143: } 605, -{ 144: } 605, -{ 145: } 605, -{ 146: } 605, -{ 147: } 606, -{ 148: } 607, -{ 149: } 608, -{ 150: } 610, -{ 151: } 611, -{ 152: } 612, -{ 153: } 613, -{ 154: } 614, -{ 155: } 614, +{ 16: } 91, +{ 17: } 91, +{ 18: } 95, +{ 19: } 99, +{ 20: } 103, +{ 21: } 103, +{ 22: } 103, +{ 23: } 103, +{ 24: } 103, +{ 25: } 103, +{ 26: } 103, +{ 27: } 103, +{ 28: } 107, +{ 29: } 107, +{ 30: } 124, +{ 31: } 124, +{ 32: } 124, +{ 33: } 124, +{ 34: } 124, +{ 35: } 124, +{ 36: } 124, +{ 37: } 124, +{ 38: } 124, +{ 39: } 124, +{ 40: } 124, +{ 41: } 124, +{ 42: } 124, +{ 43: } 124, +{ 44: } 124, +{ 45: } 124, +{ 46: } 128, +{ 47: } 132, +{ 48: } 136, +{ 49: } 140, +{ 50: } 144, +{ 51: } 148, +{ 52: } 152, +{ 53: } 156, +{ 54: } 165, +{ 55: } 165, +{ 56: } 165, +{ 57: } 166, +{ 58: } 166, +{ 59: } 166, +{ 60: } 166, +{ 61: } 166, +{ 62: } 166, +{ 63: } 166, +{ 64: } 166, +{ 65: } 166, +{ 66: } 220, +{ 67: } 220, +{ 68: } 274, +{ 69: } 328, +{ 70: } 328, +{ 71: } 382, +{ 72: } 436, +{ 73: } 436, +{ 74: } 440, +{ 75: } 451, +{ 76: } 462, +{ 77: } 478, +{ 78: } 494, +{ 79: } 510, +{ 80: } 526, +{ 81: } 534, +{ 82: } 534, +{ 83: } 534, +{ 84: } 534, +{ 85: } 538, +{ 86: } 542, +{ 87: } 546, +{ 88: } 546, +{ 89: } 546, +{ 90: } 546, +{ 91: } 546, +{ 92: } 546, +{ 93: } 546, +{ 94: } 546, +{ 95: } 546, +{ 96: } 546, +{ 97: } 546, +{ 98: } 546, +{ 99: } 546, +{ 100: } 546, +{ 101: } 546, +{ 102: } 546, +{ 103: } 546, +{ 104: } 546, +{ 105: } 546, +{ 106: } 546, +{ 107: } 546, +{ 108: } 546, +{ 109: } 547, +{ 110: } 548, +{ 111: } 552, +{ 112: } 556, +{ 113: } 560, +{ 114: } 564, +{ 115: } 568, +{ 116: } 570, +{ 117: } 571, +{ 118: } 571, +{ 119: } 571, +{ 120: } 579, +{ 121: } 581, +{ 122: } 583, +{ 123: } 584, +{ 124: } 585, +{ 125: } 585, +{ 126: } 585, +{ 127: } 585, +{ 128: } 585, +{ 129: } 585, +{ 130: } 585, +{ 131: } 591, +{ 132: } 591, +{ 133: } 595, +{ 134: } 595, +{ 135: } 595, +{ 136: } 595, +{ 137: } 595, +{ 138: } 595, +{ 139: } 595, +{ 140: } 597, +{ 141: } 598, +{ 142: } 599, +{ 143: } 599, +{ 144: } 604, +{ 145: } 604, +{ 146: } 612, +{ 147: } 613, +{ 148: } 614, +{ 149: } 615, +{ 150: } 616, +{ 151: } 616, +{ 152: } 616, +{ 153: } 616, +{ 154: } 617, +{ 155: } 618, { 156: } 619, -{ 157: } 619, -{ 158: } 620, -{ 159: } 621, -{ 160: } 622, -{ 161: } 623, -{ 162: } 624, -{ 163: } 624, -{ 164: } 624, -{ 165: } 624, -{ 166: } 626, -{ 167: } 627, -{ 168: } 627, -{ 169: } 628, -{ 170: } 629, -{ 171: } 631, -{ 172: } 632, -{ 173: } 632, -{ 174: } 632, -{ 175: } 637, -{ 176: } 638, -{ 177: } 639, -{ 178: } 639, -{ 179: } 644 +{ 157: } 621, +{ 158: } 622, +{ 159: } 623, +{ 160: } 624, +{ 161: } 625, +{ 162: } 625, +{ 163: } 630, +{ 164: } 630, +{ 165: } 631, +{ 166: } 632, +{ 167: } 633, +{ 168: } 634, +{ 169: } 635, +{ 170: } 635, +{ 171: } 635, +{ 172: } 635, +{ 173: } 637, +{ 174: } 638, +{ 175: } 638, +{ 176: } 639, +{ 177: } 640, +{ 178: } 642, +{ 179: } 643, +{ 180: } 643, +{ 181: } 643, +{ 182: } 648, +{ 183: } 649, +{ 184: } 650, +{ 185: } 650, +{ 186: } 655 ); yyah : array [0..yynstates-1] of Integer = ( @@ -1944,171 +2009,178 @@ yyah : array [0..yynstates-1] of Integer = ( { 12: } 37, { 13: } 37, { 14: } 37, -{ 15: } 89, -{ 16: } 89, -{ 17: } 93, -{ 18: } 97, -{ 19: } 101, -{ 20: } 101, -{ 21: } 101, -{ 22: } 101, -{ 23: } 101, -{ 24: } 101, -{ 25: } 101, -{ 26: } 101, -{ 27: } 105, -{ 28: } 105, -{ 29: } 121, -{ 30: } 121, -{ 31: } 121, -{ 32: } 121, -{ 33: } 121, -{ 34: } 121, -{ 35: } 121, -{ 36: } 121, -{ 37: } 121, -{ 38: } 121, -{ 39: } 121, -{ 40: } 121, -{ 41: } 121, -{ 42: } 121, -{ 43: } 121, -{ 44: } 121, -{ 45: } 125, -{ 46: } 129, -{ 47: } 133, -{ 48: } 137, -{ 49: } 141, -{ 50: } 145, -{ 51: } 149, -{ 52: } 153, -{ 53: } 162, -{ 54: } 162, -{ 55: } 162, -{ 56: } 163, -{ 57: } 163, -{ 58: } 163, -{ 59: } 163, -{ 60: } 163, -{ 61: } 163, -{ 62: } 163, -{ 63: } 163, -{ 64: } 163, -{ 65: } 216, -{ 66: } 216, -{ 67: } 269, -{ 68: } 322, -{ 69: } 322, -{ 70: } 375, -{ 71: } 428, -{ 72: } 428, -{ 73: } 432, -{ 74: } 443, -{ 75: } 454, -{ 76: } 469, -{ 77: } 484, -{ 78: } 499, -{ 79: } 514, -{ 80: } 522, -{ 81: } 522, -{ 82: } 522, -{ 83: } 522, -{ 84: } 526, -{ 85: } 530, -{ 86: } 534, -{ 87: } 534, -{ 88: } 534, -{ 89: } 534, -{ 90: } 534, -{ 91: } 534, -{ 92: } 534, -{ 93: } 534, -{ 94: } 534, -{ 95: } 534, -{ 96: } 534, -{ 97: } 534, -{ 98: } 534, -{ 99: } 534, -{ 100: } 534, -{ 101: } 535, -{ 102: } 536, -{ 103: } 540, -{ 104: } 544, -{ 105: } 548, -{ 106: } 552, -{ 107: } 556, -{ 108: } 558, -{ 109: } 559, -{ 110: } 559, -{ 111: } 559, -{ 112: } 567, -{ 113: } 569, -{ 114: } 571, -{ 115: } 572, -{ 116: } 573, -{ 117: } 573, -{ 118: } 573, -{ 119: } 573, -{ 120: } 573, -{ 121: } 573, -{ 122: } 573, -{ 123: } 579, -{ 124: } 579, -{ 125: } 583, -{ 126: } 583, -{ 127: } 583, -{ 128: } 583, -{ 129: } 583, -{ 130: } 583, -{ 131: } 583, -{ 132: } 585, -{ 133: } 586, -{ 134: } 587, -{ 135: } 587, -{ 136: } 592, -{ 137: } 592, -{ 138: } 600, -{ 139: } 601, -{ 140: } 602, -{ 141: } 603, -{ 142: } 604, -{ 143: } 604, -{ 144: } 604, -{ 145: } 604, -{ 146: } 605, -{ 147: } 606, -{ 148: } 607, -{ 149: } 609, -{ 150: } 610, -{ 151: } 611, -{ 152: } 612, -{ 153: } 613, -{ 154: } 613, +{ 15: } 90, +{ 16: } 90, +{ 17: } 94, +{ 18: } 98, +{ 19: } 102, +{ 20: } 102, +{ 21: } 102, +{ 22: } 102, +{ 23: } 102, +{ 24: } 102, +{ 25: } 102, +{ 26: } 102, +{ 27: } 106, +{ 28: } 106, +{ 29: } 123, +{ 30: } 123, +{ 31: } 123, +{ 32: } 123, +{ 33: } 123, +{ 34: } 123, +{ 35: } 123, +{ 36: } 123, +{ 37: } 123, +{ 38: } 123, +{ 39: } 123, +{ 40: } 123, +{ 41: } 123, +{ 42: } 123, +{ 43: } 123, +{ 44: } 123, +{ 45: } 127, +{ 46: } 131, +{ 47: } 135, +{ 48: } 139, +{ 49: } 143, +{ 50: } 147, +{ 51: } 151, +{ 52: } 155, +{ 53: } 164, +{ 54: } 164, +{ 55: } 164, +{ 56: } 165, +{ 57: } 165, +{ 58: } 165, +{ 59: } 165, +{ 60: } 165, +{ 61: } 165, +{ 62: } 165, +{ 63: } 165, +{ 64: } 165, +{ 65: } 219, +{ 66: } 219, +{ 67: } 273, +{ 68: } 327, +{ 69: } 327, +{ 70: } 381, +{ 71: } 435, +{ 72: } 435, +{ 73: } 439, +{ 74: } 450, +{ 75: } 461, +{ 76: } 477, +{ 77: } 493, +{ 78: } 509, +{ 79: } 525, +{ 80: } 533, +{ 81: } 533, +{ 82: } 533, +{ 83: } 533, +{ 84: } 537, +{ 85: } 541, +{ 86: } 545, +{ 87: } 545, +{ 88: } 545, +{ 89: } 545, +{ 90: } 545, +{ 91: } 545, +{ 92: } 545, +{ 93: } 545, +{ 94: } 545, +{ 95: } 545, +{ 96: } 545, +{ 97: } 545, +{ 98: } 545, +{ 99: } 545, +{ 100: } 545, +{ 101: } 545, +{ 102: } 545, +{ 103: } 545, +{ 104: } 545, +{ 105: } 545, +{ 106: } 545, +{ 107: } 545, +{ 108: } 546, +{ 109: } 547, +{ 110: } 551, +{ 111: } 555, +{ 112: } 559, +{ 113: } 563, +{ 114: } 567, +{ 115: } 569, +{ 116: } 570, +{ 117: } 570, +{ 118: } 570, +{ 119: } 578, +{ 120: } 580, +{ 121: } 582, +{ 122: } 583, +{ 123: } 584, +{ 124: } 584, +{ 125: } 584, +{ 126: } 584, +{ 127: } 584, +{ 128: } 584, +{ 129: } 584, +{ 130: } 590, +{ 131: } 590, +{ 132: } 594, +{ 133: } 594, +{ 134: } 594, +{ 135: } 594, +{ 136: } 594, +{ 137: } 594, +{ 138: } 594, +{ 139: } 596, +{ 140: } 597, +{ 141: } 598, +{ 142: } 598, +{ 143: } 603, +{ 144: } 603, +{ 145: } 611, +{ 146: } 612, +{ 147: } 613, +{ 148: } 614, +{ 149: } 615, +{ 150: } 615, +{ 151: } 615, +{ 152: } 615, +{ 153: } 616, +{ 154: } 617, { 155: } 618, -{ 156: } 618, -{ 157: } 619, -{ 158: } 620, -{ 159: } 621, -{ 160: } 622, -{ 161: } 623, -{ 162: } 623, -{ 163: } 623, -{ 164: } 623, -{ 165: } 625, -{ 166: } 626, -{ 167: } 626, -{ 168: } 627, -{ 169: } 628, -{ 170: } 630, -{ 171: } 631, -{ 172: } 631, -{ 173: } 631, -{ 174: } 636, -{ 175: } 637, -{ 176: } 638, -{ 177: } 638, -{ 178: } 643, -{ 179: } 643 +{ 156: } 620, +{ 157: } 621, +{ 158: } 622, +{ 159: } 623, +{ 160: } 624, +{ 161: } 624, +{ 162: } 629, +{ 163: } 629, +{ 164: } 630, +{ 165: } 631, +{ 166: } 632, +{ 167: } 633, +{ 168: } 634, +{ 169: } 634, +{ 170: } 634, +{ 171: } 634, +{ 172: } 636, +{ 173: } 637, +{ 174: } 637, +{ 175: } 638, +{ 176: } 639, +{ 177: } 641, +{ 178: } 642, +{ 179: } 642, +{ 180: } 642, +{ 181: } 647, +{ 182: } 648, +{ 183: } 649, +{ 184: } 649, +{ 185: } 654, +{ 186: } 654 ); yygl : array [0..yynstates-1] of Integer = ( @@ -2189,109 +2261,116 @@ yygl : array [0..yynstates-1] of Integer = ( { 74: } 66, { 75: } 67, { 76: } 68, -{ 77: } 71, -{ 78: } 74, -{ 79: } 77, -{ 80: } 80, -{ 81: } 80, -{ 82: } 80, -{ 83: } 80, -{ 84: } 81, -{ 85: } 84, -{ 86: } 87, -{ 87: } 90, -{ 88: } 90, -{ 89: } 90, -{ 90: } 90, -{ 91: } 90, -{ 92: } 90, -{ 93: } 90, -{ 94: } 90, -{ 95: } 92, -{ 96: } 92, -{ 97: } 92, -{ 98: } 92, -{ 99: } 92, -{ 100: } 92, -{ 101: } 93, -{ 102: } 94, -{ 103: } 95, -{ 104: } 98, -{ 105: } 101, -{ 106: } 104, -{ 107: } 107, -{ 108: } 110, -{ 109: } 112, -{ 110: } 112, -{ 111: } 112, -{ 112: } 112, -{ 113: } 115, -{ 114: } 115, -{ 115: } 115, -{ 116: } 115, -{ 117: } 115, -{ 118: } 115, -{ 119: } 115, -{ 120: } 115, -{ 121: } 115, -{ 122: } 115, -{ 123: } 115, -{ 124: } 116, -{ 125: } 116, +{ 77: } 72, +{ 78: } 76, +{ 79: } 80, +{ 80: } 84, +{ 81: } 84, +{ 82: } 84, +{ 83: } 84, +{ 84: } 85, +{ 85: } 88, +{ 86: } 91, +{ 87: } 94, +{ 88: } 94, +{ 89: } 94, +{ 90: } 94, +{ 91: } 94, +{ 92: } 94, +{ 93: } 94, +{ 94: } 94, +{ 95: } 96, +{ 96: } 96, +{ 97: } 96, +{ 98: } 96, +{ 99: } 96, +{ 100: } 96, +{ 101: } 96, +{ 102: } 96, +{ 103: } 96, +{ 104: } 96, +{ 105: } 96, +{ 106: } 96, +{ 107: } 96, +{ 108: } 97, +{ 109: } 98, +{ 110: } 99, +{ 111: } 102, +{ 112: } 105, +{ 113: } 108, +{ 114: } 111, +{ 115: } 114, +{ 116: } 116, +{ 117: } 116, +{ 118: } 116, +{ 119: } 116, +{ 120: } 119, +{ 121: } 119, +{ 122: } 119, +{ 123: } 119, +{ 124: } 119, +{ 125: } 119, { 126: } 119, { 127: } 119, { 128: } 119, { 129: } 119, -{ 130: } 120, +{ 130: } 119, { 131: } 120, { 132: } 120, -{ 133: } 120, -{ 134: } 121, -{ 135: } 122, -{ 136: } 122, -{ 137: } 123, -{ 138: } 123, -{ 139: } 126, -{ 140: } 126, -{ 141: } 126, +{ 133: } 123, +{ 134: } 123, +{ 135: } 123, +{ 136: } 123, +{ 137: } 124, +{ 138: } 124, +{ 139: } 124, +{ 140: } 124, +{ 141: } 125, { 142: } 126, { 143: } 126, -{ 144: } 126, -{ 145: } 126, -{ 146: } 127, -{ 147: } 128, -{ 148: } 129, +{ 144: } 127, +{ 145: } 127, +{ 146: } 130, +{ 147: } 130, +{ 148: } 130, { 149: } 130, { 150: } 130, { 151: } 130, { 152: } 130, -{ 153: } 130, -{ 154: } 130, -{ 155: } 130, -{ 156: } 131, -{ 157: } 131, -{ 158: } 131, -{ 159: } 132, -{ 160: } 133, -{ 161: } 133, -{ 162: } 135, +{ 153: } 131, +{ 154: } 132, +{ 155: } 133, +{ 156: } 134, +{ 157: } 134, +{ 158: } 134, +{ 159: } 134, +{ 160: } 134, +{ 161: } 134, +{ 162: } 134, { 163: } 135, { 164: } 135, -{ 165: } 136, +{ 165: } 135, { 166: } 136, -{ 167: } 136, +{ 167: } 137, { 168: } 137, -{ 169: } 138, +{ 169: } 139, { 170: } 139, { 171: } 139, -{ 172: } 139, -{ 173: } 139, -{ 174: } 139, -{ 175: } 140, -{ 176: } 141, -{ 177: } 141, -{ 178: } 141, -{ 179: } 142 +{ 172: } 140, +{ 173: } 140, +{ 174: } 140, +{ 175: } 141, +{ 176: } 142, +{ 177: } 143, +{ 178: } 143, +{ 179: } 143, +{ 180: } 143, +{ 181: } 143, +{ 182: } 144, +{ 183: } 145, +{ 184: } 145, +{ 185: } 145, +{ 186: } 146 ); yygh : array [0..yynstates-1] of Integer = ( @@ -2371,186 +2450,193 @@ yygh : array [0..yynstates-1] of Integer = ( { 73: } 65, { 74: } 66, { 75: } 67, -{ 76: } 70, -{ 77: } 73, -{ 78: } 76, -{ 79: } 79, -{ 80: } 79, -{ 81: } 79, -{ 82: } 79, -{ 83: } 80, -{ 84: } 83, -{ 85: } 86, -{ 86: } 89, -{ 87: } 89, -{ 88: } 89, -{ 89: } 89, -{ 90: } 89, -{ 91: } 89, -{ 92: } 89, -{ 93: } 89, -{ 94: } 91, -{ 95: } 91, -{ 96: } 91, -{ 97: } 91, -{ 98: } 91, -{ 99: } 91, -{ 100: } 92, -{ 101: } 93, -{ 102: } 94, -{ 103: } 97, -{ 104: } 100, -{ 105: } 103, -{ 106: } 106, -{ 107: } 109, -{ 108: } 111, -{ 109: } 111, -{ 110: } 111, -{ 111: } 111, -{ 112: } 114, -{ 113: } 114, -{ 114: } 114, -{ 115: } 114, -{ 116: } 114, -{ 117: } 114, -{ 118: } 114, -{ 119: } 114, -{ 120: } 114, -{ 121: } 114, -{ 122: } 114, -{ 123: } 115, -{ 124: } 115, +{ 76: } 71, +{ 77: } 75, +{ 78: } 79, +{ 79: } 83, +{ 80: } 83, +{ 81: } 83, +{ 82: } 83, +{ 83: } 84, +{ 84: } 87, +{ 85: } 90, +{ 86: } 93, +{ 87: } 93, +{ 88: } 93, +{ 89: } 93, +{ 90: } 93, +{ 91: } 93, +{ 92: } 93, +{ 93: } 93, +{ 94: } 95, +{ 95: } 95, +{ 96: } 95, +{ 97: } 95, +{ 98: } 95, +{ 99: } 95, +{ 100: } 95, +{ 101: } 95, +{ 102: } 95, +{ 103: } 95, +{ 104: } 95, +{ 105: } 95, +{ 106: } 95, +{ 107: } 96, +{ 108: } 97, +{ 109: } 98, +{ 110: } 101, +{ 111: } 104, +{ 112: } 107, +{ 113: } 110, +{ 114: } 113, +{ 115: } 115, +{ 116: } 115, +{ 117: } 115, +{ 118: } 115, +{ 119: } 118, +{ 120: } 118, +{ 121: } 118, +{ 122: } 118, +{ 123: } 118, +{ 124: } 118, { 125: } 118, { 126: } 118, { 127: } 118, { 128: } 118, -{ 129: } 119, +{ 129: } 118, { 130: } 119, { 131: } 119, -{ 132: } 119, -{ 133: } 120, -{ 134: } 121, -{ 135: } 121, -{ 136: } 122, -{ 137: } 122, -{ 138: } 125, -{ 139: } 125, -{ 140: } 125, +{ 132: } 122, +{ 133: } 122, +{ 134: } 122, +{ 135: } 122, +{ 136: } 123, +{ 137: } 123, +{ 138: } 123, +{ 139: } 123, +{ 140: } 124, { 141: } 125, { 142: } 125, -{ 143: } 125, -{ 144: } 125, -{ 145: } 126, -{ 146: } 127, -{ 147: } 128, +{ 143: } 126, +{ 144: } 126, +{ 145: } 129, +{ 146: } 129, +{ 147: } 129, { 148: } 129, { 149: } 129, { 150: } 129, { 151: } 129, -{ 152: } 129, -{ 153: } 129, -{ 154: } 129, -{ 155: } 130, -{ 156: } 130, -{ 157: } 130, -{ 158: } 131, -{ 159: } 132, -{ 160: } 132, -{ 161: } 134, +{ 152: } 130, +{ 153: } 131, +{ 154: } 132, +{ 155: } 133, +{ 156: } 133, +{ 157: } 133, +{ 158: } 133, +{ 159: } 133, +{ 160: } 133, +{ 161: } 133, { 162: } 134, { 163: } 134, -{ 164: } 135, +{ 164: } 134, { 165: } 135, -{ 166: } 135, +{ 166: } 136, { 167: } 136, -{ 168: } 137, +{ 168: } 138, { 169: } 138, { 170: } 138, -{ 171: } 138, -{ 172: } 138, -{ 173: } 138, -{ 174: } 139, -{ 175: } 140, -{ 176: } 140, -{ 177: } 140, -{ 178: } 141, -{ 179: } 141 +{ 171: } 139, +{ 172: } 139, +{ 173: } 139, +{ 174: } 140, +{ 175: } 141, +{ 176: } 142, +{ 177: } 142, +{ 178: } 142, +{ 179: } 142, +{ 180: } 142, +{ 181: } 143, +{ 182: } 144, +{ 183: } 144, +{ 184: } 144, +{ 185: } 145, +{ 186: } 145 ); yyr : array [1..yynrules] of YYRRec = ( -{ 1: } ( len: 0; sym: -12 ), -{ 2: } ( len: 2; sym: -12 ), -{ 3: } ( len: 1; sym: -13 ), -{ 4: } ( len: 1; sym: -13 ), -{ 5: } ( len: 1; sym: -14 ), -{ 6: } ( len: 1; sym: -14 ), -{ 7: } ( len: 1; sym: -14 ), -{ 8: } ( len: 1; sym: -14 ), -{ 9: } ( len: 1; sym: -14 ), -{ 10: } ( len: 1; sym: -14 ), -{ 11: } ( len: 0; sym: -23 ), -{ 12: } ( len: 5; sym: -17 ), -{ 13: } ( len: 0; sym: -24 ), -{ 14: } ( len: 5; sym: -18 ), -{ 15: } ( len: 0; sym: -25 ), -{ 16: } ( len: 5; sym: -19 ), -{ 17: } ( len: 0; sym: -27 ), -{ 18: } ( len: 7; sym: -20 ), -{ 19: } ( len: 0; sym: -26 ), -{ 20: } ( len: 9; sym: -26 ), -{ 21: } ( len: 9; sym: -26 ), -{ 22: } ( len: 3; sym: -26 ), -{ 23: } ( len: 3; sym: -26 ), -{ 24: } ( len: 3; sym: -26 ), -{ 25: } ( len: 3; sym: -26 ), -{ 26: } ( len: 3; sym: -26 ), -{ 27: } ( len: 0; sym: -28 ), -{ 28: } ( len: 6; sym: -28 ), -{ 29: } ( len: 6; sym: -28 ), -{ 30: } ( len: 0; sym: -29 ), -{ 31: } ( len: 0; sym: -32 ), -{ 32: } ( len: 7; sym: -29 ), -{ 33: } ( len: 0; sym: -31 ), -{ 34: } ( len: 5; sym: -31 ), -{ 35: } ( len: 4; sym: -30 ), -{ 36: } ( len: 3; sym: -33 ), -{ 37: } ( len: 5; sym: -33 ), -{ 38: } ( len: 0; sym: -34 ), -{ 39: } ( len: 5; sym: -21 ), -{ 40: } ( len: 0; sym: -35 ), -{ 41: } ( len: 7; sym: -21 ), -{ 42: } ( len: 0; sym: -36 ), -{ 43: } ( len: 6; sym: -16 ), -{ 44: } ( len: 0; sym: -37 ), -{ 45: } ( len: 2; sym: -37 ), -{ 46: } ( len: 3; sym: -38 ), -{ 47: } ( len: 2; sym: -38 ), -{ 48: } ( len: 1; sym: -8 ), -{ 49: } ( len: 1; sym: -8 ), -{ 50: } ( len: 1; sym: -8 ), -{ 51: } ( len: 1; sym: -8 ), -{ 52: } ( len: 1; sym: -8 ), -{ 53: } ( len: 1; sym: -8 ), -{ 54: } ( len: 1; sym: -8 ), -{ 55: } ( len: 1; sym: -8 ), -{ 56: } ( len: 1; sym: -8 ), -{ 57: } ( len: 1; sym: -8 ), -{ 58: } ( len: 1; sym: -8 ), -{ 59: } ( len: 1; sym: -7 ), -{ 60: } ( len: 1; sym: -7 ), -{ 61: } ( len: 0; sym: -22 ), -{ 62: } ( len: 2; sym: -22 ), -{ 63: } ( len: 4; sym: -39 ), -{ 64: } ( len: 2; sym: -39 ), -{ 65: } ( len: 2; sym: -39 ), -{ 66: } ( len: 1; sym: -39 ), -{ 67: } ( len: 1; sym: -39 ), -{ 68: } ( len: 1; sym: -39 ), -{ 69: } ( len: 1; sym: -39 ), -{ 70: } ( len: 1; sym: -39 ), -{ 71: } ( len: 1; sym: -39 ), -{ 72: } ( len: 1; sym: -39 ), -{ 73: } ( len: 4; sym: -15 ), +{ 1: } ( len: 0; sym: -14 ), +{ 2: } ( len: 2; sym: -14 ), +{ 3: } ( len: 1; sym: -15 ), +{ 4: } ( len: 1; sym: -15 ), +{ 5: } ( len: 1; sym: -16 ), +{ 6: } ( len: 1; sym: -16 ), +{ 7: } ( len: 1; sym: -16 ), +{ 8: } ( len: 1; sym: -16 ), +{ 9: } ( len: 1; sym: -16 ), +{ 10: } ( len: 1; sym: -16 ), +{ 11: } ( len: 0; sym: -25 ), +{ 12: } ( len: 5; sym: -19 ), +{ 13: } ( len: 0; sym: -26 ), +{ 14: } ( len: 5; sym: -20 ), +{ 15: } ( len: 0; sym: -27 ), +{ 16: } ( len: 5; sym: -21 ), +{ 17: } ( len: 0; sym: -29 ), +{ 18: } ( len: 7; sym: -22 ), +{ 19: } ( len: 0; sym: -28 ), +{ 20: } ( len: 9; sym: -28 ), +{ 21: } ( len: 9; sym: -28 ), +{ 22: } ( len: 3; sym: -28 ), +{ 23: } ( len: 3; sym: -28 ), +{ 24: } ( len: 3; sym: -28 ), +{ 25: } ( len: 3; sym: -28 ), +{ 26: } ( len: 3; sym: -28 ), +{ 27: } ( len: 0; sym: -30 ), +{ 28: } ( len: 6; sym: -30 ), +{ 29: } ( len: 6; sym: -30 ), +{ 30: } ( len: 0; sym: -31 ), +{ 31: } ( len: 0; sym: -34 ), +{ 32: } ( len: 7; sym: -31 ), +{ 33: } ( len: 0; sym: -33 ), +{ 34: } ( len: 5; sym: -33 ), +{ 35: } ( len: 4; sym: -32 ), +{ 36: } ( len: 3; sym: -35 ), +{ 37: } ( len: 5; sym: -35 ), +{ 38: } ( len: 0; sym: -36 ), +{ 39: } ( len: 5; sym: -23 ), +{ 40: } ( len: 0; sym: -37 ), +{ 41: } ( len: 7; sym: -23 ), +{ 42: } ( len: 0; sym: -38 ), +{ 43: } ( len: 6; sym: -18 ), +{ 44: } ( len: 0; sym: -39 ), +{ 45: } ( len: 2; sym: -39 ), +{ 46: } ( len: 3; sym: -40 ), +{ 47: } ( len: 2; sym: -40 ), +{ 48: } ( len: 1; sym: -10 ), +{ 49: } ( len: 1; sym: -10 ), +{ 50: } ( len: 1; sym: -10 ), +{ 51: } ( len: 1; sym: -10 ), +{ 52: } ( len: 1; sym: -10 ), +{ 53: } ( len: 1; sym: -10 ), +{ 54: } ( len: 1; sym: -10 ), +{ 55: } ( len: 1; sym: -10 ), +{ 56: } ( len: 1; sym: -10 ), +{ 57: } ( len: 1; sym: -10 ), +{ 58: } ( len: 1; sym: -10 ), +{ 59: } ( len: 1; sym: -9 ), +{ 60: } ( len: 1; sym: -9 ), +{ 61: } ( len: 0; sym: -24 ), +{ 62: } ( len: 2; sym: -24 ), +{ 63: } ( len: 4; sym: -41 ), +{ 64: } ( len: 2; sym: -41 ), +{ 65: } ( len: 2; sym: -41 ), +{ 66: } ( len: 1; sym: -41 ), +{ 67: } ( len: 1; sym: -41 ), +{ 68: } ( len: 1; sym: -41 ), +{ 69: } ( len: 1; sym: -41 ), +{ 70: } ( len: 1; sym: -41 ), +{ 71: } ( len: 1; sym: -41 ), +{ 72: } ( len: 1; sym: -41 ), +{ 73: } ( len: 4; sym: -17 ), { 74: } ( len: 1; sym: -2 ), { 75: } ( len: 1; sym: -4 ), { 76: } ( len: 1; sym: -3 ), @@ -2567,19 +2653,26 @@ yyr : array [1..yynrules] of YYRRec = ( { 87: } ( len: 3; sym: -3 ), { 88: } ( len: 1; sym: -5 ), { 89: } ( len: 1; sym: -5 ), -{ 90: } ( len: 1; sym: -11 ), -{ 91: } ( len: 1; sym: -6 ), -{ 92: } ( len: 1; sym: -6 ), -{ 93: } ( len: 1; sym: -6 ), -{ 94: } ( len: 1; sym: -6 ), -{ 95: } ( len: 1; sym: -6 ), -{ 96: } ( len: 0; sym: -40 ), -{ 97: } ( len: 2; sym: -9 ), -{ 98: } ( len: 0; sym: -41 ), -{ 99: } ( len: 4; sym: -9 ), -{ 100: } ( len: 0; sym: -10 ), -{ 101: } ( len: 1; sym: -10 ), -{ 102: } ( len: 1; sym: -10 ) +{ 90: } ( len: 1; sym: -7 ), +{ 91: } ( len: 1; sym: -13 ), +{ 92: } ( len: 1; sym: -13 ), +{ 93: } ( len: 1; sym: -8 ), +{ 94: } ( len: 1; sym: -8 ), +{ 95: } ( len: 1; sym: -8 ), +{ 96: } ( len: 1; sym: -8 ), +{ 97: } ( len: 1; sym: -8 ), +{ 98: } ( len: 1; sym: -6 ), +{ 99: } ( len: 1; sym: -6 ), +{ 100: } ( len: 1; sym: -6 ), +{ 101: } ( len: 1; sym: -6 ), +{ 102: } ( len: 1; sym: -6 ), +{ 103: } ( len: 0; sym: -42 ), +{ 104: } ( len: 2; sym: -11 ), +{ 105: } ( len: 0; sym: -43 ), +{ 106: } ( len: 4; sym: -11 ), +{ 107: } ( len: 0; sym: -12 ), +{ 108: } ( len: 1; sym: -12 ), +{ 109: } ( len: 1; sym: -12 ) ); diff --git a/packages/fcl-res/src/rcparser.y b/packages/fcl-res/src/rcparser.y index 3fe3072524..dd4a1f9718 100644 --- a/packages/fcl-res/src/rcparser.y +++ b/packages/fcl-res/src/rcparser.y @@ -12,7 +12,7 @@ unit rcparser; %token _ILLEGAL %token _NUMBER _QUOTEDSTR _QUOTEDSTRL %token _STR_StringFileInfo _STR_VarFileInfo _STR_Translation -%token _BEGIN _END _ID +%token _BEGIN _END _ID _NSWPSTR %token _LANGUAGE _CHARACTERISTICS _VERSION _MOVEABLE _FIXED _PURE _IMPURE _PRELOAD _LOADONCALL _DISCARDABLE %token _BITMAP _CURSOR _ICON _STRINGTABLE _VERSIONINFO %token _ANICURSOR _ANIICON _DLGINCLUDE _DLGINIT _HTML _MANIFEST _MESSAGETABLE _PLUGPLAY _RCDATA _VXD @@ -20,7 +20,7 @@ unit rcparser; %token _ACCELERATORS _DIALOG _DIALOGEX _MENU _MENUEX %type numpos numexpr numeral -%type ident_string long_string +%type ident_string long_string non_whitespace_string long_stringfn %type resid rcdataid %type raw_data raw_item %type filename_string @@ -188,8 +188,21 @@ ident_string | long_string ; +non_whitespace_string + : _NSWPSTR { string_new($$, yytext, opt_code_page); } + ; + filename_string - : long_string { $$:= TFileStream.Create($1.v^, fmOpenRead or fmShareDenyWrite); } + : long_stringfn { $$:= TFileStream.Create($1.v^, fmOpenRead or fmShareDenyWrite); } + | non_whitespace_string { $$:= TFileStream.Create($1.v^, fmOpenRead or fmShareDenyWrite); } + ; + +long_stringfn + : _QUOTEDSTR { string_new_uni($$, @strbuf[0], strbuflen, opt_code_page, false); } + | _QUOTEDSTRL { string_new_uni($$, @strbuf[0], strbuflen, CP_UTF16, false); } + | _STR_StringFileInfo { string_new($$, yytext, opt_code_page); } + | _STR_VarFileInfo { string_new($$, yytext, opt_code_page); } + | _STR_Translation { string_new($$, yytext, opt_code_page); } ; long_string