summaryrefslogtreecommitdiff
path: root/packages/fcl-res
diff options
context:
space:
mode:
authorsvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-08-12 19:05:44 +0000
committersvenbarth <svenbarth@3ad0048d-3df7-0310-abae-a5850022a9f2>2020-08-12 19:05:44 +0000
commitf892ef6ebf794df59ef80b4ad4b4885f575e41c4 (patch)
tree0d49f54a190e2dd37458e6dd1499d7e337d4f8ac /packages/fcl-res
parent610fc7b0aacb78995e7f4e8aa63c5c24f961dc69 (diff)
downloadfpc-f892ef6ebf794df59ef80b4ad4b4885f575e41c4.tar.gz
fcl-res: support octal numbers
Reintegrate fpcres-rc branch by Martok git-svn-id: https://svn.freepascal.org/svn/fpc/trunk@46382 3ad0048d-3df7-0310-abae-a5850022a9f2
Diffstat (limited to 'packages/fcl-res')
-rw-r--r--packages/fcl-res/src/rclex.inc1015
-rw-r--r--packages/fcl-res/src/rclex.l2
-rw-r--r--packages/fcl-res/src/rcparserfn.inc2
3 files changed, 530 insertions, 489 deletions
diff --git a/packages/fcl-res/src/rclex.inc b/packages/fcl-res/src/rclex.inc
index 1e06960979..69fe8194a4 100644
--- a/packages/fcl-res/src/rclex.inc
+++ b/packages/fcl-res/src/rclex.inc
@@ -95,39 +95,41 @@ begin
9:
return(_NUMBER);
10:
- begin start(INSTRINGL); strbuf_begin(); end;
+ return(_NUMBER);
11:
- begin start(INSTRING); strbuf_begin(); end;
+ begin start(INSTRINGL); strbuf_begin(); end;
12:
- strbuf_append('"');
+ begin start(INSTRING); strbuf_begin(); end;
13:
+ strbuf_append('"');
+ 14:
begin
start(0);
return(_QUOTEDSTR);
end;
- 14:
+ 15:
begin
start(0);
return(_QUOTEDSTRL);
end;
- 15:
- ;
16:
- return(_ILLEGAL);
+ ;
17:
- strbuf_append(yytext);
+ return(_ILLEGAL);
18:
- begin yytext:= 'StringFileInfo'; return(_STR_StringFileInfo); end;
+ strbuf_append(yytext);
19:
- begin yytext:= 'VarFileInfo'; return(_STR_VarFileInfo); end;
+ begin yytext:= 'StringFileInfo'; return(_STR_StringFileInfo); end;
20:
+ begin yytext:= 'VarFileInfo'; return(_STR_VarFileInfo); end;
+ 21:
begin yytext:= 'Translation'; return(_STR_Translation); end;
- 21:
- return(_BEGIN);
22:
- return(_END);
+ return(_BEGIN);
23:
+ return(_END);
+ 24:
begin
if ypreproc.isdefine(yytext) then begin
unget_char(' ');
@@ -138,11 +140,11 @@ begin
else
return(_ID);
end;
- 24:
- ;
25:
- returnc(yytext[1]);
+ ;
26:
+ returnc(yytext[1]);
+ 27:
return(_ILLEGAL);
end;
end(*yyaction*);
@@ -156,10 +158,10 @@ type YYTRec = record
const
-yynmarks = 60;
-yynmatches = 60;
-yyntrans = 127;
-yynstates = 91;
+yynmarks = 62;
+yynmatches = 62;
+yyntrans = 131;
+yynstates = 94;
yyk : array [1..yynmarks] of Integer = (
{ 0: }
@@ -173,45 +175,45 @@ yyk : array [1..yynmarks] of Integer = (
{ 8: }
{ 9: }
{ 10: }
- 25,
26,
+ 27,
{ 11: }
8,
- 26,
+ 27,
{ 12: }
8,
- 26,
+ 27,
{ 13: }
- 23,
- 26,
+ 24,
+ 27,
{ 14: }
- 11,
- 26,
+ 12,
+ 27,
{ 15: }
- 23,
- 26,
+ 24,
+ 27,
{ 16: }
- 21,
- 26,
+ 22,
+ 27,
{ 17: }
- 23,
- 26,
+ 24,
+ 27,
{ 18: }
- 22,
- 26,
- { 19: }
23,
- 26,
- { 20: }
+ 27,
+ { 19: }
24,
- { 21: }
+ 27,
+ { 20: }
25,
+ { 21: }
26,
+ 27,
{ 22: }
- 24,
- 26,
+ 25,
+ 27,
{ 23: }
- 26,
+ 27,
{ 24: }
2,
{ 25: }
@@ -223,17 +225,17 @@ yyk : array [1..yynmarks] of Integer = (
{ 28: }
7,
{ 29: }
- 13,
- 17,
+ 14,
+ 18,
{ 30: }
- 17,
+ 18,
{ 31: }
- 16,
- { 32: }
17,
+ { 32: }
+ 18,
{ 33: }
- 14,
- 17,
+ 15,
+ 18,
{ 34: }
1,
{ 35: }
@@ -244,44 +246,46 @@ yyk : array [1..yynmarks] of Integer = (
8,
{ 38: }
{ 39: }
- 10,
{ 40: }
- 23,
+ 11,
{ 41: }
+ 24,
{ 42: }
{ 43: }
{ 44: }
- 23,
{ 45: }
- 23,
+ 24,
{ 46: }
- 6,
+ 24,
{ 47: }
- 12,
+ 6,
{ 48: }
- 15,
+ 13,
{ 49: }
- 9,
+ 16,
{ 50: }
+ 9,
{ 51: }
- 23,
+ 10,
{ 52: }
- 22,
- 23,
{ 53: }
- 9,
+ 24,
{ 54: }
+ 23,
+ 24,
{ 55: }
+ 9,
{ 56: }
+ 10,
{ 57: }
- 23,
{ 58: }
{ 59: }
- 21,
- 23,
{ 60: }
+ 24,
{ 61: }
{ 62: }
+ 22,
+ 24,
{ 63: }
{ 64: }
{ 65: }
@@ -289,14 +293,14 @@ yyk : array [1..yynmarks] of Integer = (
{ 67: }
{ 68: }
{ 69: }
- 19,
{ 70: }
- 20,
{ 71: }
- 18
{ 72: }
+ 20,
{ 73: }
+ 21,
{ 74: }
+ 19
{ 75: }
{ 76: }
{ 77: }
@@ -313,6 +317,9 @@ yyk : array [1..yynmarks] of Integer = (
{ 88: }
{ 89: }
{ 90: }
+ { 91: }
+ { 92: }
+ { 93: }
);
yym : array [1..yynmatches] of Integer = (
@@ -327,45 +334,45 @@ yym : array [1..yynmatches] of Integer = (
{ 8: }
{ 9: }
{ 10: }
- 25,
26,
+ 27,
{ 11: }
8,
- 26,
+ 27,
{ 12: }
8,
- 26,
+ 27,
{ 13: }
- 23,
- 26,
+ 24,
+ 27,
{ 14: }
- 11,
- 26,
+ 12,
+ 27,
{ 15: }
- 23,
- 26,
+ 24,
+ 27,
{ 16: }
- 21,
- 26,
+ 22,
+ 27,
{ 17: }
- 23,
- 26,
+ 24,
+ 27,
{ 18: }
- 22,
- 26,
-{ 19: }
23,
- 26,
-{ 20: }
+ 27,
+{ 19: }
24,
-{ 21: }
+ 27,
+{ 20: }
25,
+{ 21: }
26,
+ 27,
{ 22: }
- 24,
- 26,
+ 25,
+ 27,
{ 23: }
- 26,
+ 27,
{ 24: }
2,
{ 25: }
@@ -377,17 +384,17 @@ yym : array [1..yynmatches] of Integer = (
{ 28: }
7,
{ 29: }
- 13,
- 17,
+ 14,
+ 18,
{ 30: }
- 17,
+ 18,
{ 31: }
- 16,
-{ 32: }
17,
+{ 32: }
+ 18,
{ 33: }
- 14,
- 17,
+ 15,
+ 18,
{ 34: }
1,
{ 35: }
@@ -398,44 +405,46 @@ yym : array [1..yynmatches] of Integer = (
8,
{ 38: }
{ 39: }
- 10,
{ 40: }
- 23,
+ 11,
{ 41: }
+ 24,
{ 42: }
{ 43: }
{ 44: }
- 23,
{ 45: }
- 23,
+ 24,
{ 46: }
- 6,
+ 24,
{ 47: }
- 12,
+ 6,
{ 48: }
- 15,
+ 13,
{ 49: }
- 9,
+ 16,
{ 50: }
+ 9,
{ 51: }
- 23,
+ 10,
{ 52: }
- 22,
- 23,
{ 53: }
- 9,
+ 24,
{ 54: }
+ 23,
+ 24,
{ 55: }
+ 9,
{ 56: }
+ 10,
{ 57: }
- 23,
{ 58: }
{ 59: }
- 21,
- 23,
{ 60: }
+ 24,
{ 61: }
{ 62: }
+ 22,
+ 24,
{ 63: }
{ 64: }
{ 65: }
@@ -443,14 +452,14 @@ yym : array [1..yynmatches] of Integer = (
{ 67: }
{ 68: }
{ 69: }
- 19,
{ 70: }
- 20,
{ 71: }
- 18
{ 72: }
+ 20,
{ 73: }
+ 21,
{ 74: }
+ 19
{ 75: }
{ 76: }
{ 77: }
@@ -467,6 +476,9 @@ yym : array [1..yynmatches] of Integer = (
{ 88: }
{ 89: }
{ 90: }
+{ 91: }
+{ 92: }
+{ 93: }
);
yyt : array [1..yyntrans] of YYTrec = (
@@ -545,24 +557,25 @@ yyt : array [1..yyntrans] of YYTrec = (
{ 12: }
( cc: [ '0'..'9' ]; s: 36),
( cc: [ 'L' ]; s: 37),
+ ( cc: [ 'o' ]; s: 39),
( cc: [ 'x' ]; s: 38),
{ 13: }
- ( cc: [ '"' ]; s: 39),
- ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 40),
+ ( cc: [ '"' ]; s: 40),
+ ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 41),
{ 14: }
- ( cc: [ 'S' ]; s: 41),
- ( cc: [ 'T' ]; s: 43),
- ( cc: [ 'V' ]; s: 42),
+ ( cc: [ 'S' ]; s: 42),
+ ( cc: [ 'T' ]; s: 44),
+ ( cc: [ 'V' ]; s: 43),
{ 15: }
- ( cc: [ '0'..'9','A'..'D','F'..'Z','_','a'..'z' ]; s: 40),
- ( cc: [ 'E' ]; s: 44),
+ ( cc: [ '0'..'9','A'..'D','F'..'Z','_','a'..'z' ]; s: 41),
+ ( cc: [ 'E' ]; s: 45),
{ 16: }
{ 17: }
- ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 40),
- ( cc: [ 'N' ]; s: 45),
+ ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 41),
+ ( cc: [ 'N' ]; s: 46),
{ 18: }
{ 19: }
- ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 40),
+ ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 41),
{ 20: }
{ 21: }
{ 22: }
@@ -571,16 +584,16 @@ yyt : array [1..yyntrans] of YYTrec = (
{ 25: }
{ 26: }
{ 27: }
- ( cc: [ '/' ]; s: 46),
+ ( cc: [ '/' ]; s: 47),
{ 28: }
{ 29: }
- ( cc: [ '"' ]; s: 47),
+ ( cc: [ '"' ]; s: 48),
{ 30: }
- ( cc: [ #10 ]; s: 48),
+ ( cc: [ #10 ]; s: 49),
{ 31: }
{ 32: }
{ 33: }
- ( cc: [ '"' ]; s: 47),
+ ( cc: [ '"' ]; s: 48),
{ 34: }
{ 35: }
{ 36: }
@@ -588,108 +601,114 @@ yyt : array [1..yyntrans] of YYTrec = (
( cc: [ 'L' ]; s: 37),
{ 37: }
{ 38: }
- ( cc: [ '0'..'9','A'..'F','a'..'f' ]; s: 49),
+ ( cc: [ '0'..'9','A'..'F','a'..'f' ]; s: 50),
{ 39: }
+ ( cc: [ '0'..'7' ]; s: 51),
{ 40: }
- ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 40),
{ 41: }
- ( cc: [ 't' ]; s: 50),
+ ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 41),
{ 42: }
- ( cc: [ 'a' ]; s: 74),
+ ( cc: [ 't' ]; s: 52),
{ 43: }
- ( cc: [ 'r' ]; s: 73),
+ ( cc: [ 'a' ]; s: 77),
{ 44: }
- ( cc: [ '0'..'9','A'..'F','H'..'Z','_','a'..'z' ]; s: 40),
- ( cc: [ 'G' ]; s: 51),
+ ( cc: [ 'r' ]; s: 76),
{ 45: }
- ( cc: [ '0'..'9','A'..'C','E'..'Z','_','a'..'z' ]; s: 40),
- ( cc: [ 'D' ]; s: 52),
+ ( cc: [ '0'..'9','A'..'F','H'..'Z','_','a'..'z' ]; s: 41),
+ ( cc: [ 'G' ]; s: 53),
{ 46: }
+ ( cc: [ '0'..'9','A'..'C','E'..'Z','_','a'..'z' ]; s: 41),
+ ( cc: [ 'D' ]; s: 54),
{ 47: }
{ 48: }
{ 49: }
- ( cc: [ '0'..'9','A'..'F','a'..'f' ]; s: 49),
- ( cc: [ 'L' ]; s: 53),
{ 50: }
- ( cc: [ 'r' ]; s: 54),
+ ( cc: [ '0'..'9','A'..'F','a'..'f' ]; s: 50),
+ ( cc: [ 'L' ]; s: 55),
{ 51: }
- ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 40),
- ( cc: [ 'I' ]; s: 57),
+ ( cc: [ '0'..'7' ]; s: 51),
+ ( cc: [ 'L' ]; s: 56),
{ 52: }
- ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 40),
+ ( cc: [ 'r' ]; s: 57),
{ 53: }
+ ( cc: [ '0'..'9','A'..'H','J'..'Z','_','a'..'z' ]; s: 41),
+ ( cc: [ 'I' ]; s: 60),
{ 54: }
- ( cc: [ 'i' ]; s: 76),
+ ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 41),
{ 55: }
- ( cc: [ 'F' ]; s: 75),
{ 56: }
- ( cc: [ 'n' ]; s: 58),
{ 57: }
- ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 40),
- ( cc: [ 'N' ]; s: 59),
+ ( cc: [ 'i' ]; s: 79),
{ 58: }
- ( cc: [ 's' ]; s: 77),
+ ( cc: [ 'F' ]; s: 78),
{ 59: }
- ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 40),
+ ( cc: [ 'n' ]; s: 61),
{ 60: }
- ( cc: [ 'g' ]; s: 90),
+ ( cc: [ '0'..'9','A'..'M','O'..'Z','_','a'..'z' ]; s: 41),
+ ( cc: [ 'N' ]; s: 62),
{ 61: }
- ( cc: [ 'l' ]; s: 62),
+ ( cc: [ 's' ]; s: 80),
{ 62: }
- ( cc: [ 'e' ]; s: 64),
+ ( cc: [ '0'..'9','A'..'Z','_','a'..'z' ]; s: 41),
{ 63: }
- ( cc: [ 'a' ]; s: 72),
+ ( cc: [ 'g' ]; s: 93),
{ 64: }
- ( cc: [ 'I' ]; s: 80),
+ ( cc: [ 'l' ]; s: 65),
{ 65: }
- ( cc: [ 'f' ]; s: 67),
+ ( cc: [ 'e' ]; s: 67),
{ 66: }
- ( cc: [ 'o' ]; s: 82),
+ ( cc: [ 'a' ]; s: 75),
{ 67: }
- ( cc: [ 'o' ]; s: 68),
+ ( cc: [ 'I' ]; s: 83),
{ 68: }
- ( cc: [ '"' ]; s: 69),
+ ( cc: [ 'f' ]; s: 70),
{ 69: }
+ ( cc: [ 'o' ]; s: 85),
{ 70: }
+ ( cc: [ 'o' ]; s: 71),
{ 71: }
+ ( cc: [ '"' ]; s: 72),
{ 72: }
- ( cc: [ 't' ]; s: 79),
{ 73: }
- ( cc: [ 'a' ]; s: 56),
{ 74: }
- ( cc: [ 'r' ]; s: 55),
{ 75: }
- ( cc: [ 'i' ]; s: 61),
+ ( cc: [ 't' ]; s: 82),
{ 76: }
- ( cc: [ 'n' ]; s: 60),
+ ( cc: [ 'a' ]; s: 59),
{ 77: }
- ( cc: [ 'l' ]; s: 63),
+ ( cc: [ 'r' ]; s: 58),
{ 78: }
- ( cc: [ '"' ]; s: 70),
+ ( cc: [ 'i' ]; s: 64),
{ 79: }
- ( cc: [ 'i' ]; s: 66),
+ ( cc: [ 'n' ]; s: 63),
{ 80: }
- ( cc: [ 'n' ]; s: 65),
+ ( cc: [ 'l' ]; s: 66),
{ 81: }
- ( cc: [ '"' ]; s: 71),
+ ( cc: [ '"' ]; s: 73),
{ 82: }
- ( cc: [ 'n' ]; s: 78),
+ ( cc: [ 'i' ]; s: 69),
{ 83: }
- ( cc: [ 'o' ]; s: 81),
+ ( cc: [ 'n' ]; s: 68),
{ 84: }
- ( cc: [ 'f' ]; s: 83),
+ ( cc: [ '"' ]; s: 74),
{ 85: }
- ( cc: [ 'n' ]; s: 84),
+ ( cc: [ 'n' ]; s: 81),
{ 86: }
- ( cc: [ 'I' ]; s: 85),
+ ( cc: [ 'o' ]; s: 84),
{ 87: }
- ( cc: [ 'e' ]; s: 86),
+ ( cc: [ 'f' ]; s: 86),
{ 88: }
- ( cc: [ 'l' ]; s: 87),
+ ( cc: [ 'n' ]; s: 87),
{ 89: }
- ( cc: [ 'i' ]; s: 88),
+ ( cc: [ 'I' ]; s: 88),
{ 90: }
- ( cc: [ 'F' ]; s: 89)
+ ( cc: [ 'e' ]; s: 89),
+{ 91: }
+ ( cc: [ 'l' ]; s: 90),
+{ 92: }
+ ( cc: [ 'i' ]; s: 91),
+{ 93: }
+ ( cc: [ 'F' ]; s: 92)
);
yykl : array [0..yynstates-1] of Integer = (
@@ -733,57 +752,60 @@ yykl : array [0..yynstates-1] of Integer = (
{ 37: } 42,
{ 38: } 43,
{ 39: } 43,
-{ 40: } 44,
-{ 41: } 45,
+{ 40: } 43,
+{ 41: } 44,
{ 42: } 45,
{ 43: } 45,
{ 44: } 45,
-{ 45: } 46,
-{ 46: } 47,
-{ 47: } 48,
-{ 48: } 49,
-{ 49: } 50,
-{ 50: } 51,
+{ 45: } 45,
+{ 46: } 46,
+{ 47: } 47,
+{ 48: } 48,
+{ 49: } 49,
+{ 50: } 50,
{ 51: } 51,
{ 52: } 52,
-{ 53: } 54,
-{ 54: } 55,
+{ 53: } 52,
+{ 54: } 53,
{ 55: } 55,
-{ 56: } 55,
-{ 57: } 55,
-{ 58: } 56,
-{ 59: } 56,
-{ 60: } 58,
+{ 56: } 56,
+{ 57: } 57,
+{ 58: } 57,
+{ 59: } 57,
+{ 60: } 57,
{ 61: } 58,
{ 62: } 58,
-{ 63: } 58,
-{ 64: } 58,
-{ 65: } 58,
-{ 66: } 58,
-{ 67: } 58,
-{ 68: } 58,
-{ 69: } 58,
-{ 70: } 59,
+{ 63: } 60,
+{ 64: } 60,
+{ 65: } 60,
+{ 66: } 60,
+{ 67: } 60,
+{ 68: } 60,
+{ 69: } 60,
+{ 70: } 60,
{ 71: } 60,
-{ 72: } 61,
+{ 72: } 60,
{ 73: } 61,
-{ 74: } 61,
-{ 75: } 61,
-{ 76: } 61,
-{ 77: } 61,
-{ 78: } 61,
-{ 79: } 61,
-{ 80: } 61,
-{ 81: } 61,
-{ 82: } 61,
-{ 83: } 61,
-{ 84: } 61,
-{ 85: } 61,
-{ 86: } 61,
-{ 87: } 61,
-{ 88: } 61,
-{ 89: } 61,
-{ 90: } 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
);
yykh : array [0..yynstates-1] of Integer = (
@@ -826,58 +848,61 @@ yykh : array [0..yynstates-1] of Integer = (
{ 36: } 41,
{ 37: } 42,
{ 38: } 42,
-{ 39: } 43,
-{ 40: } 44,
+{ 39: } 42,
+{ 40: } 43,
{ 41: } 44,
{ 42: } 44,
{ 43: } 44,
-{ 44: } 45,
-{ 45: } 46,
-{ 46: } 47,
-{ 47: } 48,
-{ 48: } 49,
-{ 49: } 50,
+{ 44: } 44,
+{ 45: } 45,
+{ 46: } 46,
+{ 47: } 47,
+{ 48: } 48,
+{ 49: } 49,
{ 50: } 50,
{ 51: } 51,
-{ 52: } 53,
-{ 53: } 54,
+{ 52: } 51,
+{ 53: } 52,
{ 54: } 54,
-{ 55: } 54,
-{ 56: } 54,
-{ 57: } 55,
-{ 58: } 55,
-{ 59: } 57,
+{ 55: } 55,
+{ 56: } 56,
+{ 57: } 56,
+{ 58: } 56,
+{ 59: } 56,
{ 60: } 57,
{ 61: } 57,
-{ 62: } 57,
-{ 63: } 57,
-{ 64: } 57,
-{ 65: } 57,
-{ 66: } 57,
-{ 67: } 57,
-{ 68: } 57,
-{ 69: } 58,
+{ 62: } 59,
+{ 63: } 59,
+{ 64: } 59,
+{ 65: } 59,
+{ 66: } 59,
+{ 67: } 59,
+{ 68: } 59,
+{ 69: } 59,
{ 70: } 59,
-{ 71: } 60,
+{ 71: } 59,
{ 72: } 60,
-{ 73: } 60,
-{ 74: } 60,
-{ 75: } 60,
-{ 76: } 60,
-{ 77: } 60,
-{ 78: } 60,
-{ 79: } 60,
-{ 80: } 60,
-{ 81: } 60,
-{ 82: } 60,
-{ 83: } 60,
-{ 84: } 60,
-{ 85: } 60,
-{ 86: } 60,
-{ 87: } 60,
-{ 88: } 60,
-{ 89: } 60,
-{ 90: } 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
);
yyml : array [0..yynstates-1] of Integer = (
@@ -921,57 +946,60 @@ yyml : array [0..yynstates-1] of Integer = (
{ 37: } 42,
{ 38: } 43,
{ 39: } 43,
-{ 40: } 44,
-{ 41: } 45,
+{ 40: } 43,
+{ 41: } 44,
{ 42: } 45,
{ 43: } 45,
{ 44: } 45,
-{ 45: } 46,
-{ 46: } 47,
-{ 47: } 48,
-{ 48: } 49,
-{ 49: } 50,
-{ 50: } 51,
+{ 45: } 45,
+{ 46: } 46,
+{ 47: } 47,
+{ 48: } 48,
+{ 49: } 49,
+{ 50: } 50,
{ 51: } 51,
{ 52: } 52,
-{ 53: } 54,
-{ 54: } 55,
+{ 53: } 52,
+{ 54: } 53,
{ 55: } 55,
-{ 56: } 55,
-{ 57: } 55,
-{ 58: } 56,
-{ 59: } 56,
-{ 60: } 58,
+{ 56: } 56,
+{ 57: } 57,
+{ 58: } 57,
+{ 59: } 57,
+{ 60: } 57,
{ 61: } 58,
{ 62: } 58,
-{ 63: } 58,
-{ 64: } 58,
-{ 65: } 58,
-{ 66: } 58,
-{ 67: } 58,
-{ 68: } 58,
-{ 69: } 58,
-{ 70: } 59,
+{ 63: } 60,
+{ 64: } 60,
+{ 65: } 60,
+{ 66: } 60,
+{ 67: } 60,
+{ 68: } 60,
+{ 69: } 60,
+{ 70: } 60,
{ 71: } 60,
-{ 72: } 61,
+{ 72: } 60,
{ 73: } 61,
-{ 74: } 61,
-{ 75: } 61,
-{ 76: } 61,
-{ 77: } 61,
-{ 78: } 61,
-{ 79: } 61,
-{ 80: } 61,
-{ 81: } 61,
-{ 82: } 61,
-{ 83: } 61,
-{ 84: } 61,
-{ 85: } 61,
-{ 86: } 61,
-{ 87: } 61,
-{ 88: } 61,
-{ 89: } 61,
-{ 90: } 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
);
yymh : array [0..yynstates-1] of Integer = (
@@ -1014,58 +1042,61 @@ yymh : array [0..yynstates-1] of Integer = (
{ 36: } 41,
{ 37: } 42,
{ 38: } 42,
-{ 39: } 43,
-{ 40: } 44,
+{ 39: } 42,
+{ 40: } 43,
{ 41: } 44,
{ 42: } 44,
{ 43: } 44,
-{ 44: } 45,
-{ 45: } 46,
-{ 46: } 47,
-{ 47: } 48,
-{ 48: } 49,
-{ 49: } 50,
+{ 44: } 44,
+{ 45: } 45,
+{ 46: } 46,
+{ 47: } 47,
+{ 48: } 48,
+{ 49: } 49,
{ 50: } 50,
{ 51: } 51,
-{ 52: } 53,
-{ 53: } 54,
+{ 52: } 51,
+{ 53: } 52,
{ 54: } 54,
-{ 55: } 54,
-{ 56: } 54,
-{ 57: } 55,
-{ 58: } 55,
-{ 59: } 57,
+{ 55: } 55,
+{ 56: } 56,
+{ 57: } 56,
+{ 58: } 56,
+{ 59: } 56,
{ 60: } 57,
{ 61: } 57,
-{ 62: } 57,
-{ 63: } 57,
-{ 64: } 57,
-{ 65: } 57,
-{ 66: } 57,
-{ 67: } 57,
-{ 68: } 57,
-{ 69: } 58,
+{ 62: } 59,
+{ 63: } 59,
+{ 64: } 59,
+{ 65: } 59,
+{ 66: } 59,
+{ 67: } 59,
+{ 68: } 59,
+{ 69: } 59,
{ 70: } 59,
-{ 71: } 60,
+{ 71: } 59,
{ 72: } 60,
-{ 73: } 60,
-{ 74: } 60,
-{ 75: } 60,
-{ 76: } 60,
-{ 77: } 60,
-{ 78: } 60,
-{ 79: } 60,
-{ 80: } 60,
-{ 81: } 60,
-{ 82: } 60,
-{ 83: } 60,
-{ 84: } 60,
-{ 85: } 60,
-{ 86: } 60,
-{ 87: } 60,
-{ 88: } 60,
-{ 89: } 60,
-{ 90: } 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
);
yytl : array [0..yynstates-1] of Integer = (
@@ -1082,84 +1113,87 @@ yytl : array [0..yynstates-1] of Integer = (
{ 10: } 55,
{ 11: } 57,
{ 12: } 59,
-{ 13: } 62,
-{ 14: } 64,
-{ 15: } 67,
-{ 16: } 69,
-{ 17: } 69,
-{ 18: } 71,
-{ 19: } 71,
-{ 20: } 72,
-{ 21: } 72,
-{ 22: } 72,
-{ 23: } 72,
-{ 24: } 72,
-{ 25: } 72,
-{ 26: } 72,
-{ 27: } 72,
-{ 28: } 73,
-{ 29: } 73,
-{ 30: } 74,
-{ 31: } 75,
-{ 32: } 75,
-{ 33: } 75,
-{ 34: } 76,
-{ 35: } 76,
-{ 36: } 76,
-{ 37: } 78,
-{ 38: } 78,
-{ 39: } 79,
-{ 40: } 79,
-{ 41: } 80,
-{ 42: } 81,
-{ 43: } 82,
-{ 44: } 83,
+{ 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: } 87,
-{ 48: } 87,
-{ 49: } 87,
+{ 47: } 89,
+{ 48: } 89,
+{ 49: } 89,
{ 50: } 89,
-{ 51: } 90,
-{ 52: } 92,
-{ 53: } 93,
-{ 54: } 93,
-{ 55: } 94,
-{ 56: } 95,
-{ 57: } 96,
+{ 51: } 91,
+{ 52: } 93,
+{ 53: } 94,
+{ 54: } 96,
+{ 55: } 97,
+{ 56: } 97,
+{ 57: } 97,
{ 58: } 98,
{ 59: } 99,
{ 60: } 100,
-{ 61: } 101,
-{ 62: } 102,
-{ 63: } 103,
-{ 64: } 104,
-{ 65: } 105,
-{ 66: } 106,
-{ 67: } 107,
-{ 68: } 108,
-{ 69: } 109,
-{ 70: } 109,
-{ 71: } 109,
-{ 72: } 109,
-{ 73: } 110,
-{ 74: } 111,
-{ 75: } 112,
-{ 76: } 113,
-{ 77: } 114,
-{ 78: } 115,
-{ 79: } 116,
-{ 80: } 117,
-{ 81: } 118,
-{ 82: } 119,
-{ 83: } 120,
-{ 84: } 121,
-{ 85: } 122,
-{ 86: } 123,
-{ 87: } 124,
-{ 88: } 125,
-{ 89: } 126,
-{ 90: } 127
+{ 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
);
yyth : array [0..yynstates-1] of Integer = (
@@ -1175,85 +1209,88 @@ yyth : array [0..yynstates-1] of Integer = (
{ 9: } 54,
{ 10: } 56,
{ 11: } 58,
-{ 12: } 61,
-{ 13: } 63,
-{ 14: } 66,
-{ 15: } 68,
-{ 16: } 68,
-{ 17: } 70,
-{ 18: } 70,
-{ 19: } 71,
-{ 20: } 71,
-{ 21: } 71,
-{ 22: } 71,
-{ 23: } 71,
-{ 24: } 71,
-{ 25: } 71,
-{ 26: } 71,
-{ 27: } 72,
-{ 28: } 72,
-{ 29: } 73,
-{ 30: } 74,
-{ 31: } 74,
-{ 32: } 74,
-{ 33: } 75,
-{ 34: } 75,
-{ 35: } 75,
-{ 36: } 77,
-{ 37: } 77,
-{ 38: } 78,
-{ 39: } 78,
-{ 40: } 79,
-{ 41: } 80,
-{ 42: } 81,
-{ 43: } 82,
+{ 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: } 86,
-{ 47: } 86,
-{ 48: } 86,
+{ 46: } 88,
+{ 47: } 88,
+{ 48: } 88,
{ 49: } 88,
-{ 50: } 89,
-{ 51: } 91,
-{ 52: } 92,
-{ 53: } 92,
-{ 54: } 93,
-{ 55: } 94,
-{ 56: } 95,
+{ 50: } 90,
+{ 51: } 92,
+{ 52: } 93,
+{ 53: } 95,
+{ 54: } 96,
+{ 55: } 96,
+{ 56: } 96,
{ 57: } 97,
{ 58: } 98,
{ 59: } 99,
-{ 60: } 100,
-{ 61: } 101,
-{ 62: } 102,
-{ 63: } 103,
-{ 64: } 104,
-{ 65: } 105,
-{ 66: } 106,
-{ 67: } 107,
-{ 68: } 108,
-{ 69: } 108,
-{ 70: } 108,
-{ 71: } 108,
-{ 72: } 109,
-{ 73: } 110,
-{ 74: } 111,
-{ 75: } 112,
-{ 76: } 113,
-{ 77: } 114,
-{ 78: } 115,
-{ 79: } 116,
-{ 80: } 117,
-{ 81: } 118,
-{ 82: } 119,
-{ 83: } 120,
-{ 84: } 121,
-{ 85: } 122,
-{ 86: } 123,
-{ 87: } 124,
-{ 88: } 125,
-{ 89: } 126,
-{ 90: } 127
+{ 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
);
diff --git a/packages/fcl-res/src/rclex.l b/packages/fcl-res/src/rclex.l
index 0e5f05b02e..be7bc7af29 100644
--- a/packages/fcl-res/src/rclex.l
+++ b/packages/fcl-res/src/rclex.l
@@ -59,6 +59,7 @@ end;
%}
%x INCOMLINE INCOMMENT INSTRING INSTRINGL
+O [0-7]
D [0-9]
H [0-9a-fA-F]
IDENT [a-zA-Z_]([a-zA-Z0-9_])*
@@ -76,6 +77,7 @@ IDENT [a-zA-Z_]([a-zA-Z0-9_])*
{D}+L? return(_NUMBER);
0x{H}+L? return(_NUMBER);
+0o{O}+L? return(_NUMBER);
L\" begin start(INSTRINGL); strbuf_begin(); end;
\" begin start(INSTRING); strbuf_begin(); end;
<INSTRING,INSTRINGL>\"\" strbuf_append('"');
diff --git a/packages/fcl-res/src/rcparserfn.inc b/packages/fcl-res/src/rcparserfn.inc
index 52c39e8d13..33f70c9093 100644
--- a/packages/fcl-res/src/rcparserfn.inc
+++ b/packages/fcl-res/src/rcparserfn.inc
@@ -120,6 +120,8 @@ begin
Exit(0);
if Copy(s, 1, 2) = '0x' then
Exit(StrToInt('$' + Copy(s, 3, Maxint)));
+ if Copy(s, 1, 2) = '0o' then
+ Exit(StrToInt('&' + Copy(s, 3, Maxint)));
if Copy(s, 1, 1) = '0' then
Exit(StrToInt('&' + Copy(s, 2, Maxint)));
Result:= StrToInt(s);