mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-22 21:10:11 +02:00
fcl-res: legacy resource flags
Reintegrate fpcres-rc branch by Martok git-svn-id: trunk@46374 -
This commit is contained in:
parent
d6dd918582
commit
3765d1945e
@ -7,10 +7,20 @@ var
|
|||||||
strbuf: string;
|
strbuf: string;
|
||||||
|
|
||||||
const
|
const
|
||||||
KeywordDefs: array [0..0] of TIdentMapEntry = (
|
KeywordDefs: array [0..9] of TIdentMapEntry = (
|
||||||
(Value: _LANGUAGE; Name: 'LANGUAGE')
|
(Value: _LANGUAGE; Name: 'LANGUAGE'),
|
||||||
|
(Value: _CHARACTERISTICS; Name: 'CHARACTERISTICS'),
|
||||||
|
(Value: _VERSION; Name: 'VERSION'),
|
||||||
|
(Value: _MOVEABLE; Name: 'MOVEABLE'),
|
||||||
|
(Value: _FIXED; Name: 'FIXED'),
|
||||||
|
(Value: _PURE; Name: 'PURE'),
|
||||||
|
(Value: _IMPURE; Name: 'IMPURE'),
|
||||||
|
(Value: _PRELOAD; Name: 'PRELOAD'),
|
||||||
|
(Value: _LOADONCALL; Name: 'LOADONCALL'),
|
||||||
|
(Value: _DISCARDABLE; Name: 'DISCARDABLE')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
function KeywordToInt(k: string; out kw: integer): boolean;
|
function KeywordToInt(k: string; out kw: integer): boolean;
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
|
@ -4,10 +4,20 @@ var
|
|||||||
strbuf: string;
|
strbuf: string;
|
||||||
|
|
||||||
const
|
const
|
||||||
KeywordDefs: array [0..0] of TIdentMapEntry = (
|
KeywordDefs: array [0..9] of TIdentMapEntry = (
|
||||||
(Value: _LANGUAGE; Name: 'LANGUAGE')
|
(Value: _LANGUAGE; Name: 'LANGUAGE'),
|
||||||
|
(Value: _CHARACTERISTICS; Name: 'CHARACTERISTICS'),
|
||||||
|
(Value: _VERSION; Name: 'VERSION'),
|
||||||
|
(Value: _MOVEABLE; Name: 'MOVEABLE'),
|
||||||
|
(Value: _FIXED; Name: 'FIXED'),
|
||||||
|
(Value: _PURE; Name: 'PURE'),
|
||||||
|
(Value: _IMPURE; Name: 'IMPURE'),
|
||||||
|
(Value: _PRELOAD; Name: 'PRELOAD'),
|
||||||
|
(Value: _LOADONCALL; Name: 'LOADONCALL'),
|
||||||
|
(Value: _DISCARDABLE; Name: 'DISCARDABLE')
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
function KeywordToInt(k: string; out kw: integer): boolean;
|
function KeywordToInt(k: string; out kw: integer): boolean;
|
||||||
var
|
var
|
||||||
i: integer;
|
i: integer;
|
||||||
|
@ -155,8 +155,16 @@ const _QUOTEDSTR = 262;
|
|||||||
const _BEGIN = 263;
|
const _BEGIN = 263;
|
||||||
const _END = 264;
|
const _END = 264;
|
||||||
const _LANGUAGE = 265;
|
const _LANGUAGE = 265;
|
||||||
const _VERSION = 266;
|
const _CHARACTERISTICS = 266;
|
||||||
const _ID = 267;
|
const _VERSION = 267;
|
||||||
|
const _MOVEABLE = 268;
|
||||||
|
const _FIXED = 269;
|
||||||
|
const _PURE = 270;
|
||||||
|
const _IMPURE = 271;
|
||||||
|
const _PRELOAD = 272;
|
||||||
|
const _LOADONCALL = 273;
|
||||||
|
const _DISCARDABLE = 274;
|
||||||
|
const _ID = 275;
|
||||||
|
|
||||||
type YYSType = record case Integer of
|
type YYSType = record case Integer of
|
||||||
1 : ( yyString : String );
|
1 : ( yyString : String );
|
||||||
@ -214,54 +222,89 @@ begin
|
|||||||
yyval.yyTResourceDesc:= TResourceDesc.Create(yyv[yysp-0].yyString);
|
yyval.yyTResourceDesc:= TResourceDesc.Create(yyv[yysp-0].yyString);
|
||||||
end;
|
end;
|
||||||
12 : begin
|
12 : begin
|
||||||
language:= MakeLangID(yyv[yysp-2].yyrcnumtype.v, yyv[yysp-0].yyrcnumtype.v);
|
|
||||||
end;
|
|
||||||
13 : begin
|
|
||||||
yyval := yyv[yysp-0];
|
|
||||||
end;
|
|
||||||
14 : begin
|
|
||||||
yyval.yyrcnumtype.v:= StrToInt(yytext); yyval.yyrcnumtype.long:= False;
|
|
||||||
end;
|
|
||||||
15 : begin
|
|
||||||
yyval.yyrcnumtype.v:= StrToInt(Copy(yytext,1,length(yytext)-1)); yyval.yyrcnumtype.long:= True;
|
|
||||||
end;
|
|
||||||
16 : begin
|
|
||||||
yyval.yyrcnumtype.v:= StrToInt('$'+Copy(yytext,3,Maxint)); yyval.yyrcnumtype.long:= False;
|
|
||||||
end;
|
|
||||||
17 : begin
|
|
||||||
yyval.yyrcnumtype.v:= StrToInt('$'+Copy(yytext,3,length(yytext)-3)); yyval.yyrcnumtype.long:= True;
|
|
||||||
end;
|
|
||||||
18 : begin
|
|
||||||
yyval.yyString:= yytext;
|
|
||||||
end;
|
|
||||||
19 : begin
|
|
||||||
yyval.yyString:= yytext;
|
|
||||||
end;
|
|
||||||
20 : begin
|
|
||||||
yyval.yyString:= yytext;
|
|
||||||
end;
|
|
||||||
21 : begin
|
|
||||||
yyval.yyString:= yytext;
|
|
||||||
end;
|
|
||||||
22 : begin
|
|
||||||
yyval.yyTMemoryStream:= TMemoryStream.Create;
|
|
||||||
end;
|
|
||||||
23 : begin
|
|
||||||
yyval := yyv[yysp-1];
|
yyval := yyv[yysp-1];
|
||||||
end;
|
end;
|
||||||
|
13 : begin
|
||||||
|
aktresource.LangID:= MakeLangID(yyv[yysp-2].yyrcnumtype.v, yyv[yysp-0].yyrcnumtype.v);
|
||||||
|
end;
|
||||||
|
14 : begin
|
||||||
|
aktresource.Characteristics:= yyv[yysp-0].yyrcnumtype.v;
|
||||||
|
end;
|
||||||
|
15 : begin
|
||||||
|
aktresource.Version:= yyv[yysp-0].yyrcnumtype.v;
|
||||||
|
end;
|
||||||
|
16 : begin
|
||||||
|
aktresource.MemoryFlags:= aktresource.MemoryFlags or MF_MOVEABLE;
|
||||||
|
end;
|
||||||
|
17 : begin
|
||||||
|
aktresource.MemoryFlags:= aktresource.MemoryFlags and not MF_MOVEABLE;
|
||||||
|
end;
|
||||||
|
18 : begin
|
||||||
|
aktresource.MemoryFlags:= aktresource.MemoryFlags or MF_PURE;
|
||||||
|
end;
|
||||||
|
19 : begin
|
||||||
|
aktresource.MemoryFlags:= aktresource.MemoryFlags and not MF_PURE;
|
||||||
|
end;
|
||||||
|
20 : begin
|
||||||
|
aktresource.MemoryFlags:= aktresource.MemoryFlags or MF_PRELOAD;
|
||||||
|
end;
|
||||||
|
21 : begin
|
||||||
|
aktresource.MemoryFlags:= aktresource.MemoryFlags and not MF_PRELOAD;
|
||||||
|
end;
|
||||||
|
22 : begin
|
||||||
|
aktresource.MemoryFlags:= aktresource.MemoryFlags or MF_DISCARDABLE;
|
||||||
|
end;
|
||||||
|
23 : begin
|
||||||
|
end;
|
||||||
24 : begin
|
24 : begin
|
||||||
yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream;
|
language:= MakeLangID(yyv[yysp-2].yyrcnumtype.v, yyv[yysp-0].yyrcnumtype.v);
|
||||||
end;
|
end;
|
||||||
25 : begin
|
25 : begin
|
||||||
yyval := yyv[yysp-3];
|
yyval := yyv[yysp-0];
|
||||||
end;
|
end;
|
||||||
26 : begin
|
26 : begin
|
||||||
|
yyval.yyrcnumtype.v:= StrToInt(yytext); yyval.yyrcnumtype.long:= False;
|
||||||
|
end;
|
||||||
|
27 : begin
|
||||||
|
yyval.yyrcnumtype.v:= StrToInt(Copy(yytext,1,length(yytext)-1)); yyval.yyrcnumtype.long:= True;
|
||||||
|
end;
|
||||||
|
28 : begin
|
||||||
|
yyval.yyrcnumtype.v:= StrToInt('$'+Copy(yytext,3,Maxint)); yyval.yyrcnumtype.long:= False;
|
||||||
|
end;
|
||||||
|
29 : begin
|
||||||
|
yyval.yyrcnumtype.v:= StrToInt('$'+Copy(yytext,3,length(yytext)-3)); yyval.yyrcnumtype.long:= True;
|
||||||
|
end;
|
||||||
|
30 : begin
|
||||||
|
yyval.yyString:= yytext;
|
||||||
|
end;
|
||||||
|
31 : begin
|
||||||
|
yyval.yyString:= yytext;
|
||||||
|
end;
|
||||||
|
32 : begin
|
||||||
|
yyval.yyString:= yytext;
|
||||||
|
end;
|
||||||
|
33 : begin
|
||||||
|
yyval.yyString:= yytext;
|
||||||
|
end;
|
||||||
|
34 : begin
|
||||||
|
yyval.yyTMemoryStream:= TMemoryStream.Create;
|
||||||
|
end;
|
||||||
|
35 : begin
|
||||||
|
yyval := yyv[yysp-1];
|
||||||
|
end;
|
||||||
|
36 : begin
|
||||||
|
yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream;
|
||||||
|
end;
|
||||||
|
37 : begin
|
||||||
|
yyval := yyv[yysp-3];
|
||||||
|
end;
|
||||||
|
38 : begin
|
||||||
|
|
||||||
yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream;
|
yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream;
|
||||||
yyval.yyTMemoryStream.WriteBuffer(yyv[yysp-0].yyString[1], Length(yyv[yysp-0].yyString));
|
yyval.yyTMemoryStream.WriteBuffer(yyv[yysp-0].yyString[1], Length(yyv[yysp-0].yyString));
|
||||||
|
|
||||||
end;
|
end;
|
||||||
27 : begin
|
39 : begin
|
||||||
|
|
||||||
yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream;
|
yyval.yyTMemoryStream:= yyv[yysp-1].yyTMemoryStream;
|
||||||
if yyv[yysp-0].yyrcnumtype.long then
|
if yyv[yysp-0].yyrcnumtype.long then
|
||||||
@ -284,10 +327,10 @@ type YYARec = record
|
|||||||
|
|
||||||
const
|
const
|
||||||
|
|
||||||
yynacts = 39;
|
yynacts = 120;
|
||||||
yyngotos = 27;
|
yyngotos = 40;
|
||||||
yynstates = 36;
|
yynstates = 54;
|
||||||
yynrules = 27;
|
yynrules = 39;
|
||||||
|
|
||||||
yya : array [1..yynacts] of YYARec = (
|
yya : array [1..yynacts] of YYARec = (
|
||||||
{ 0: }
|
{ 0: }
|
||||||
@ -299,7 +342,7 @@ yya : array [1..yynacts] of YYARec = (
|
|||||||
( sym: 261; act: 12 ),
|
( sym: 261; act: 12 ),
|
||||||
( sym: 262; act: 13 ),
|
( sym: 262; act: 13 ),
|
||||||
( sym: 265; act: 14 ),
|
( sym: 265; act: 14 ),
|
||||||
( sym: 267; act: 15 ),
|
( sym: 275; act: 15 ),
|
||||||
{ 2: }
|
{ 2: }
|
||||||
{ 3: }
|
{ 3: }
|
||||||
{ 4: }
|
{ 4: }
|
||||||
@ -310,7 +353,7 @@ yya : array [1..yynacts] of YYARec = (
|
|||||||
( sym: 260; act: 11 ),
|
( sym: 260; act: 11 ),
|
||||||
( sym: 261; act: 12 ),
|
( sym: 261; act: 12 ),
|
||||||
( sym: 262; act: 13 ),
|
( sym: 262; act: 13 ),
|
||||||
( sym: 267; act: 15 ),
|
( sym: 275; act: 15 ),
|
||||||
{ 7: }
|
{ 7: }
|
||||||
{ 8: }
|
{ 8: }
|
||||||
{ 9: }
|
{ 9: }
|
||||||
@ -326,45 +369,144 @@ yya : array [1..yynacts] of YYARec = (
|
|||||||
{ 15: }
|
{ 15: }
|
||||||
{ 16: }
|
{ 16: }
|
||||||
( sym: 262; act: -6 ),
|
( sym: 262; act: -6 ),
|
||||||
|
( sym: 265; act: -6 ),
|
||||||
|
( sym: 266; act: -6 ),
|
||||||
|
( sym: 267; act: -6 ),
|
||||||
|
( sym: 268; act: -6 ),
|
||||||
|
( sym: 269; act: -6 ),
|
||||||
|
( sym: 270; act: -6 ),
|
||||||
|
( sym: 271; act: -6 ),
|
||||||
|
( sym: 272; act: -6 ),
|
||||||
|
( sym: 273; act: -6 ),
|
||||||
|
( sym: 274; act: -6 ),
|
||||||
( sym: 263; act: -8 ),
|
( sym: 263; act: -8 ),
|
||||||
{ 17: }
|
{ 17: }
|
||||||
{ 18: }
|
{ 18: }
|
||||||
( sym: 44; act: 21 ),
|
( sym: 44; act: 21 ),
|
||||||
{ 19: }
|
{ 19: }
|
||||||
( sym: 263; act: 22 ),
|
( sym: 265; act: 23 ),
|
||||||
|
( sym: 266; act: 24 ),
|
||||||
|
( sym: 267; act: 25 ),
|
||||||
|
( sym: 268; act: 26 ),
|
||||||
|
( sym: 269; act: 27 ),
|
||||||
|
( sym: 270; act: 28 ),
|
||||||
|
( sym: 271; act: 29 ),
|
||||||
|
( sym: 272; act: 30 ),
|
||||||
|
( sym: 273; act: 31 ),
|
||||||
|
( sym: 274; act: 32 ),
|
||||||
|
( sym: 263; act: -23 ),
|
||||||
{ 20: }
|
{ 20: }
|
||||||
( sym: 262; act: 24 ),
|
( sym: 265; act: 23 ),
|
||||||
|
( sym: 266; act: 24 ),
|
||||||
|
( sym: 267; act: 25 ),
|
||||||
|
( sym: 268; act: 26 ),
|
||||||
|
( sym: 269; act: 27 ),
|
||||||
|
( sym: 270; act: 28 ),
|
||||||
|
( sym: 271; act: 29 ),
|
||||||
|
( sym: 272; act: 30 ),
|
||||||
|
( sym: 273; act: 31 ),
|
||||||
|
( sym: 274; act: 32 ),
|
||||||
|
( sym: 262; act: -23 ),
|
||||||
{ 21: }
|
{ 21: }
|
||||||
( sym: 258; act: 9 ),
|
( sym: 258; act: 9 ),
|
||||||
( sym: 259; act: 10 ),
|
( sym: 259; act: 10 ),
|
||||||
( sym: 260; act: 11 ),
|
( sym: 260; act: 11 ),
|
||||||
( sym: 261; act: 12 ),
|
( sym: 261; act: 12 ),
|
||||||
{ 22: }
|
{ 22: }
|
||||||
|
( sym: 263; act: 36 ),
|
||||||
|
( sym: 265; act: 23 ),
|
||||||
|
( sym: 266; act: 24 ),
|
||||||
|
( sym: 267; act: 25 ),
|
||||||
|
( sym: 268; act: 26 ),
|
||||||
|
( sym: 269; act: 27 ),
|
||||||
|
( sym: 270; act: 28 ),
|
||||||
|
( sym: 271; act: 29 ),
|
||||||
|
( sym: 272; act: 30 ),
|
||||||
|
( sym: 273; act: 31 ),
|
||||||
|
( sym: 274; act: 32 ),
|
||||||
{ 23: }
|
{ 23: }
|
||||||
{ 24: }
|
|
||||||
{ 25: }
|
|
||||||
{ 26: }
|
|
||||||
( sym: 258; act: 9 ),
|
( sym: 258; act: 9 ),
|
||||||
( sym: 259; act: 10 ),
|
( sym: 259; act: 10 ),
|
||||||
( sym: 260; act: 11 ),
|
( sym: 260; act: 11 ),
|
||||||
( sym: 261; act: 12 ),
|
( sym: 261; act: 12 ),
|
||||||
( sym: 262; act: 31 ),
|
{ 24: }
|
||||||
|
( sym: 258; act: 9 ),
|
||||||
|
( sym: 259; act: 10 ),
|
||||||
|
( sym: 260; act: 11 ),
|
||||||
|
( sym: 261; act: 12 ),
|
||||||
|
{ 25: }
|
||||||
|
( sym: 258; act: 9 ),
|
||||||
|
( sym: 259; act: 10 ),
|
||||||
|
( sym: 260; act: 11 ),
|
||||||
|
( sym: 261; act: 12 ),
|
||||||
|
{ 26: }
|
||||||
{ 27: }
|
{ 27: }
|
||||||
( sym: 44; act: 32 ),
|
|
||||||
( sym: 264; act: 33 ),
|
|
||||||
{ 28: }
|
{ 28: }
|
||||||
{ 29: }
|
{ 29: }
|
||||||
{ 30: }
|
{ 30: }
|
||||||
{ 31: }
|
{ 31: }
|
||||||
{ 32: }
|
{ 32: }
|
||||||
{ 33: }
|
{ 33: }
|
||||||
|
( sym: 262; act: 41 ),
|
||||||
|
( sym: 265; act: 23 ),
|
||||||
|
( sym: 266; act: 24 ),
|
||||||
|
( sym: 267; act: 25 ),
|
||||||
|
( sym: 268; act: 26 ),
|
||||||
|
( sym: 269; act: 27 ),
|
||||||
|
( sym: 270; act: 28 ),
|
||||||
|
( sym: 271; act: 29 ),
|
||||||
|
( sym: 272; act: 30 ),
|
||||||
|
( sym: 273; act: 31 ),
|
||||||
|
( sym: 274; act: 32 ),
|
||||||
{ 34: }
|
{ 34: }
|
||||||
|
{ 35: }
|
||||||
|
( sym: 265; act: 23 ),
|
||||||
|
( sym: 266; act: 24 ),
|
||||||
|
( sym: 267; act: 25 ),
|
||||||
|
( sym: 268; act: 26 ),
|
||||||
|
( sym: 269; act: 27 ),
|
||||||
|
( sym: 270; act: 28 ),
|
||||||
|
( sym: 271; act: 29 ),
|
||||||
|
( sym: 272; act: 30 ),
|
||||||
|
( sym: 273; act: 31 ),
|
||||||
|
( sym: 274; act: 32 ),
|
||||||
|
( sym: 262; act: -12 ),
|
||||||
|
( sym: 263; act: -12 ),
|
||||||
|
{ 36: }
|
||||||
|
{ 37: }
|
||||||
|
( sym: 44; act: 44 ),
|
||||||
|
{ 38: }
|
||||||
|
{ 39: }
|
||||||
|
{ 40: }
|
||||||
|
{ 41: }
|
||||||
|
{ 42: }
|
||||||
( sym: 258; act: 9 ),
|
( sym: 258; act: 9 ),
|
||||||
( sym: 259; act: 10 ),
|
( sym: 259; act: 10 ),
|
||||||
( sym: 260; act: 11 ),
|
( sym: 260; act: 11 ),
|
||||||
( sym: 261; act: 12 ),
|
( sym: 261; act: 12 ),
|
||||||
( sym: 262; act: 31 )
|
( sym: 262; act: 48 ),
|
||||||
{ 35: }
|
{ 43: }
|
||||||
|
( sym: 44; act: 49 ),
|
||||||
|
( sym: 264; act: 50 ),
|
||||||
|
{ 44: }
|
||||||
|
( sym: 258; act: 9 ),
|
||||||
|
( sym: 259; act: 10 ),
|
||||||
|
( sym: 260; act: 11 ),
|
||||||
|
( sym: 261; act: 12 ),
|
||||||
|
{ 45: }
|
||||||
|
{ 46: }
|
||||||
|
{ 47: }
|
||||||
|
{ 48: }
|
||||||
|
{ 49: }
|
||||||
|
{ 50: }
|
||||||
|
{ 51: }
|
||||||
|
{ 52: }
|
||||||
|
( sym: 258; act: 9 ),
|
||||||
|
( sym: 259; act: 10 ),
|
||||||
|
( sym: 260; act: 11 ),
|
||||||
|
( sym: 261; act: 12 ),
|
||||||
|
( sym: 262; act: 48 )
|
||||||
|
{ 53: }
|
||||||
);
|
);
|
||||||
|
|
||||||
yyg : array [1..yyngotos] of YYARec = (
|
yyg : array [1..yyngotos] of YYARec = (
|
||||||
@ -398,39 +540,70 @@ yyg : array [1..yyngotos] of YYARec = (
|
|||||||
( sym: -2; act: 18 ),
|
( sym: -2; act: 18 ),
|
||||||
{ 15: }
|
{ 15: }
|
||||||
{ 16: }
|
{ 16: }
|
||||||
( sym: -16; act: 19 ),
|
( sym: -17; act: 19 ),
|
||||||
( sym: -15; act: 20 ),
|
( sym: -16; act: 20 ),
|
||||||
{ 17: }
|
{ 17: }
|
||||||
{ 18: }
|
{ 18: }
|
||||||
{ 19: }
|
{ 19: }
|
||||||
|
( sym: -15; act: 22 ),
|
||||||
{ 20: }
|
{ 20: }
|
||||||
( sym: -5; act: 23 ),
|
( sym: -15; act: 33 ),
|
||||||
{ 21: }
|
{ 21: }
|
||||||
( sym: -3; act: 17 ),
|
( sym: -3; act: 17 ),
|
||||||
( sym: -2; act: 25 ),
|
( sym: -2; act: 34 ),
|
||||||
{ 22: }
|
{ 22: }
|
||||||
( sym: -17; act: 26 ),
|
( sym: -15; act: 35 ),
|
||||||
( sym: -8; act: 27 ),
|
|
||||||
{ 23: }
|
{ 23: }
|
||||||
|
( sym: -3; act: 17 ),
|
||||||
|
( sym: -2; act: 37 ),
|
||||||
{ 24: }
|
{ 24: }
|
||||||
|
( sym: -3; act: 17 ),
|
||||||
|
( sym: -2; act: 38 ),
|
||||||
{ 25: }
|
{ 25: }
|
||||||
|
( sym: -3; act: 17 ),
|
||||||
|
( sym: -2; act: 39 ),
|
||||||
{ 26: }
|
{ 26: }
|
||||||
( sym: -9; act: 28 ),
|
|
||||||
( sym: -6; act: 29 ),
|
|
||||||
( sym: -3; act: 30 ),
|
|
||||||
{ 27: }
|
{ 27: }
|
||||||
{ 28: }
|
{ 28: }
|
||||||
{ 29: }
|
{ 29: }
|
||||||
{ 30: }
|
{ 30: }
|
||||||
{ 31: }
|
{ 31: }
|
||||||
{ 32: }
|
{ 32: }
|
||||||
( sym: -18; act: 34 ),
|
|
||||||
{ 33: }
|
{ 33: }
|
||||||
|
( sym: -15; act: 35 ),
|
||||||
|
( sym: -5; act: 40 ),
|
||||||
{ 34: }
|
{ 34: }
|
||||||
( sym: -9; act: 35 ),
|
|
||||||
( sym: -6; act: 29 ),
|
|
||||||
( sym: -3; act: 30 )
|
|
||||||
{ 35: }
|
{ 35: }
|
||||||
|
( sym: -15; act: 35 ),
|
||||||
|
{ 36: }
|
||||||
|
( sym: -18; act: 42 ),
|
||||||
|
( sym: -8; act: 43 ),
|
||||||
|
{ 37: }
|
||||||
|
{ 38: }
|
||||||
|
{ 39: }
|
||||||
|
{ 40: }
|
||||||
|
{ 41: }
|
||||||
|
{ 42: }
|
||||||
|
( sym: -9; act: 45 ),
|
||||||
|
( sym: -6; act: 46 ),
|
||||||
|
( sym: -3; act: 47 ),
|
||||||
|
{ 43: }
|
||||||
|
{ 44: }
|
||||||
|
( sym: -3; act: 17 ),
|
||||||
|
( sym: -2; act: 51 ),
|
||||||
|
{ 45: }
|
||||||
|
{ 46: }
|
||||||
|
{ 47: }
|
||||||
|
{ 48: }
|
||||||
|
{ 49: }
|
||||||
|
( sym: -19; act: 52 ),
|
||||||
|
{ 50: }
|
||||||
|
{ 51: }
|
||||||
|
{ 52: }
|
||||||
|
( sym: -9; act: 53 ),
|
||||||
|
( sym: -6; act: 46 ),
|
||||||
|
( sym: -3; act: 47 )
|
||||||
|
{ 53: }
|
||||||
);
|
);
|
||||||
|
|
||||||
yyd : array [0..yynstates-1] of Integer = (
|
yyd : array [0..yynstates-1] of Integer = (
|
||||||
@ -443,33 +616,51 @@ yyd : array [0..yynstates-1] of Integer = (
|
|||||||
{ 6: } 0,
|
{ 6: } 0,
|
||||||
{ 7: } -11,
|
{ 7: } -11,
|
||||||
{ 8: } -10,
|
{ 8: } -10,
|
||||||
{ 9: } -14,
|
{ 9: } -26,
|
||||||
{ 10: } -16,
|
{ 10: } -28,
|
||||||
{ 11: } -15,
|
{ 11: } -27,
|
||||||
{ 12: } -17,
|
{ 12: } -29,
|
||||||
{ 13: } -19,
|
{ 13: } -31,
|
||||||
{ 14: } 0,
|
{ 14: } 0,
|
||||||
{ 15: } -18,
|
{ 15: } -30,
|
||||||
{ 16: } 0,
|
{ 16: } 0,
|
||||||
{ 17: } -13,
|
{ 17: } -25,
|
||||||
{ 18: } 0,
|
{ 18: } 0,
|
||||||
{ 19: } 0,
|
{ 19: } 0,
|
||||||
{ 20: } 0,
|
{ 20: } 0,
|
||||||
{ 21: } 0,
|
{ 21: } 0,
|
||||||
{ 22: } -22,
|
{ 22: } 0,
|
||||||
{ 23: } -7,
|
{ 23: } 0,
|
||||||
{ 24: } -20,
|
{ 24: } 0,
|
||||||
{ 25: } -12,
|
{ 25: } 0,
|
||||||
{ 26: } 0,
|
{ 26: } -16,
|
||||||
{ 27: } 0,
|
{ 27: } -17,
|
||||||
{ 28: } -23,
|
{ 28: } -18,
|
||||||
{ 29: } -26,
|
{ 29: } -19,
|
||||||
{ 30: } -27,
|
{ 30: } -20,
|
||||||
{ 31: } -21,
|
{ 31: } -21,
|
||||||
{ 32: } -24,
|
{ 32: } -22,
|
||||||
{ 33: } -9,
|
{ 33: } 0,
|
||||||
{ 34: } 0,
|
{ 34: } -24,
|
||||||
{ 35: } -25
|
{ 35: } 0,
|
||||||
|
{ 36: } -34,
|
||||||
|
{ 37: } 0,
|
||||||
|
{ 38: } -14,
|
||||||
|
{ 39: } -15,
|
||||||
|
{ 40: } -7,
|
||||||
|
{ 41: } -32,
|
||||||
|
{ 42: } 0,
|
||||||
|
{ 43: } 0,
|
||||||
|
{ 44: } 0,
|
||||||
|
{ 45: } -35,
|
||||||
|
{ 46: } -38,
|
||||||
|
{ 47: } -39,
|
||||||
|
{ 48: } -33,
|
||||||
|
{ 49: } -36,
|
||||||
|
{ 50: } -9,
|
||||||
|
{ 51: } -13,
|
||||||
|
{ 52: } 0,
|
||||||
|
{ 53: } -37
|
||||||
);
|
);
|
||||||
|
|
||||||
yyal : array [0..yynstates-1] of Integer = (
|
yyal : array [0..yynstates-1] of Integer = (
|
||||||
@ -490,25 +681,43 @@ yyal : array [0..yynstates-1] of Integer = (
|
|||||||
{ 14: } 15,
|
{ 14: } 15,
|
||||||
{ 15: } 19,
|
{ 15: } 19,
|
||||||
{ 16: } 19,
|
{ 16: } 19,
|
||||||
{ 17: } 21,
|
{ 17: } 31,
|
||||||
{ 18: } 21,
|
{ 18: } 31,
|
||||||
{ 19: } 22,
|
{ 19: } 32,
|
||||||
{ 20: } 23,
|
{ 20: } 43,
|
||||||
{ 21: } 24,
|
{ 21: } 54,
|
||||||
{ 22: } 28,
|
{ 22: } 58,
|
||||||
{ 23: } 28,
|
{ 23: } 69,
|
||||||
{ 24: } 28,
|
{ 24: } 73,
|
||||||
{ 25: } 28,
|
{ 25: } 77,
|
||||||
{ 26: } 28,
|
{ 26: } 81,
|
||||||
{ 27: } 33,
|
{ 27: } 81,
|
||||||
{ 28: } 35,
|
{ 28: } 81,
|
||||||
{ 29: } 35,
|
{ 29: } 81,
|
||||||
{ 30: } 35,
|
{ 30: } 81,
|
||||||
{ 31: } 35,
|
{ 31: } 81,
|
||||||
{ 32: } 35,
|
{ 32: } 81,
|
||||||
{ 33: } 35,
|
{ 33: } 81,
|
||||||
{ 34: } 35,
|
{ 34: } 92,
|
||||||
{ 35: } 40
|
{ 35: } 92,
|
||||||
|
{ 36: } 104,
|
||||||
|
{ 37: } 104,
|
||||||
|
{ 38: } 105,
|
||||||
|
{ 39: } 105,
|
||||||
|
{ 40: } 105,
|
||||||
|
{ 41: } 105,
|
||||||
|
{ 42: } 105,
|
||||||
|
{ 43: } 110,
|
||||||
|
{ 44: } 112,
|
||||||
|
{ 45: } 116,
|
||||||
|
{ 46: } 116,
|
||||||
|
{ 47: } 116,
|
||||||
|
{ 48: } 116,
|
||||||
|
{ 49: } 116,
|
||||||
|
{ 50: } 116,
|
||||||
|
{ 51: } 116,
|
||||||
|
{ 52: } 116,
|
||||||
|
{ 53: } 121
|
||||||
);
|
);
|
||||||
|
|
||||||
yyah : array [0..yynstates-1] of Integer = (
|
yyah : array [0..yynstates-1] of Integer = (
|
||||||
@ -528,26 +737,44 @@ yyah : array [0..yynstates-1] of Integer = (
|
|||||||
{ 13: } 14,
|
{ 13: } 14,
|
||||||
{ 14: } 18,
|
{ 14: } 18,
|
||||||
{ 15: } 18,
|
{ 15: } 18,
|
||||||
{ 16: } 20,
|
{ 16: } 30,
|
||||||
{ 17: } 20,
|
{ 17: } 30,
|
||||||
{ 18: } 21,
|
{ 18: } 31,
|
||||||
{ 19: } 22,
|
{ 19: } 42,
|
||||||
{ 20: } 23,
|
{ 20: } 53,
|
||||||
{ 21: } 27,
|
{ 21: } 57,
|
||||||
{ 22: } 27,
|
{ 22: } 68,
|
||||||
{ 23: } 27,
|
{ 23: } 72,
|
||||||
{ 24: } 27,
|
{ 24: } 76,
|
||||||
{ 25: } 27,
|
{ 25: } 80,
|
||||||
{ 26: } 32,
|
{ 26: } 80,
|
||||||
{ 27: } 34,
|
{ 27: } 80,
|
||||||
{ 28: } 34,
|
{ 28: } 80,
|
||||||
{ 29: } 34,
|
{ 29: } 80,
|
||||||
{ 30: } 34,
|
{ 30: } 80,
|
||||||
{ 31: } 34,
|
{ 31: } 80,
|
||||||
{ 32: } 34,
|
{ 32: } 80,
|
||||||
{ 33: } 34,
|
{ 33: } 91,
|
||||||
{ 34: } 39,
|
{ 34: } 91,
|
||||||
{ 35: } 39
|
{ 35: } 103,
|
||||||
|
{ 36: } 103,
|
||||||
|
{ 37: } 104,
|
||||||
|
{ 38: } 104,
|
||||||
|
{ 39: } 104,
|
||||||
|
{ 40: } 104,
|
||||||
|
{ 41: } 104,
|
||||||
|
{ 42: } 109,
|
||||||
|
{ 43: } 111,
|
||||||
|
{ 44: } 115,
|
||||||
|
{ 45: } 115,
|
||||||
|
{ 46: } 115,
|
||||||
|
{ 47: } 115,
|
||||||
|
{ 48: } 115,
|
||||||
|
{ 49: } 115,
|
||||||
|
{ 50: } 115,
|
||||||
|
{ 51: } 115,
|
||||||
|
{ 52: } 120,
|
||||||
|
{ 53: } 120
|
||||||
);
|
);
|
||||||
|
|
||||||
yygl : array [0..yynstates-1] of Integer = (
|
yygl : array [0..yynstates-1] of Integer = (
|
||||||
@ -571,22 +798,40 @@ yygl : array [0..yynstates-1] of Integer = (
|
|||||||
{ 17: } 16,
|
{ 17: } 16,
|
||||||
{ 18: } 16,
|
{ 18: } 16,
|
||||||
{ 19: } 16,
|
{ 19: } 16,
|
||||||
{ 20: } 16,
|
{ 20: } 17,
|
||||||
{ 21: } 17,
|
{ 21: } 18,
|
||||||
{ 22: } 19,
|
{ 22: } 20,
|
||||||
{ 23: } 21,
|
{ 23: } 21,
|
||||||
{ 24: } 21,
|
{ 24: } 23,
|
||||||
{ 25: } 21,
|
{ 25: } 25,
|
||||||
{ 26: } 21,
|
{ 26: } 27,
|
||||||
{ 27: } 24,
|
{ 27: } 27,
|
||||||
{ 28: } 24,
|
{ 28: } 27,
|
||||||
{ 29: } 24,
|
{ 29: } 27,
|
||||||
{ 30: } 24,
|
{ 30: } 27,
|
||||||
{ 31: } 24,
|
{ 31: } 27,
|
||||||
{ 32: } 24,
|
{ 32: } 27,
|
||||||
{ 33: } 25,
|
{ 33: } 27,
|
||||||
{ 34: } 25,
|
{ 34: } 29,
|
||||||
{ 35: } 28
|
{ 35: } 29,
|
||||||
|
{ 36: } 30,
|
||||||
|
{ 37: } 32,
|
||||||
|
{ 38: } 32,
|
||||||
|
{ 39: } 32,
|
||||||
|
{ 40: } 32,
|
||||||
|
{ 41: } 32,
|
||||||
|
{ 42: } 32,
|
||||||
|
{ 43: } 35,
|
||||||
|
{ 44: } 35,
|
||||||
|
{ 45: } 37,
|
||||||
|
{ 46: } 37,
|
||||||
|
{ 47: } 37,
|
||||||
|
{ 48: } 37,
|
||||||
|
{ 49: } 37,
|
||||||
|
{ 50: } 38,
|
||||||
|
{ 51: } 38,
|
||||||
|
{ 52: } 38,
|
||||||
|
{ 53: } 41
|
||||||
);
|
);
|
||||||
|
|
||||||
yygh : array [0..yynstates-1] of Integer = (
|
yygh : array [0..yynstates-1] of Integer = (
|
||||||
@ -609,23 +854,41 @@ yygh : array [0..yynstates-1] of Integer = (
|
|||||||
{ 16: } 15,
|
{ 16: } 15,
|
||||||
{ 17: } 15,
|
{ 17: } 15,
|
||||||
{ 18: } 15,
|
{ 18: } 15,
|
||||||
{ 19: } 15,
|
{ 19: } 16,
|
||||||
{ 20: } 16,
|
{ 20: } 17,
|
||||||
{ 21: } 18,
|
{ 21: } 19,
|
||||||
{ 22: } 20,
|
{ 22: } 20,
|
||||||
{ 23: } 20,
|
{ 23: } 22,
|
||||||
{ 24: } 20,
|
{ 24: } 24,
|
||||||
{ 25: } 20,
|
{ 25: } 26,
|
||||||
{ 26: } 23,
|
{ 26: } 26,
|
||||||
{ 27: } 23,
|
{ 27: } 26,
|
||||||
{ 28: } 23,
|
{ 28: } 26,
|
||||||
{ 29: } 23,
|
{ 29: } 26,
|
||||||
{ 30: } 23,
|
{ 30: } 26,
|
||||||
{ 31: } 23,
|
{ 31: } 26,
|
||||||
{ 32: } 24,
|
{ 32: } 26,
|
||||||
{ 33: } 24,
|
{ 33: } 28,
|
||||||
{ 34: } 27,
|
{ 34: } 28,
|
||||||
{ 35: } 27
|
{ 35: } 29,
|
||||||
|
{ 36: } 31,
|
||||||
|
{ 37: } 31,
|
||||||
|
{ 38: } 31,
|
||||||
|
{ 39: } 31,
|
||||||
|
{ 40: } 31,
|
||||||
|
{ 41: } 31,
|
||||||
|
{ 42: } 34,
|
||||||
|
{ 43: } 34,
|
||||||
|
{ 44: } 36,
|
||||||
|
{ 45: } 36,
|
||||||
|
{ 46: } 36,
|
||||||
|
{ 47: } 36,
|
||||||
|
{ 48: } 36,
|
||||||
|
{ 49: } 37,
|
||||||
|
{ 50: } 37,
|
||||||
|
{ 51: } 37,
|
||||||
|
{ 52: } 40,
|
||||||
|
{ 53: } 40
|
||||||
);
|
);
|
||||||
|
|
||||||
yyr : array [1..yynrules] of YYRRec = (
|
yyr : array [1..yynrules] of YYRRec = (
|
||||||
@ -634,28 +897,40 @@ yyr : array [1..yynrules] of YYRRec = (
|
|||||||
{ 3: } ( len: 1; sym: -11 ),
|
{ 3: } ( len: 1; sym: -11 ),
|
||||||
{ 4: } ( len: 1; sym: -11 ),
|
{ 4: } ( len: 1; sym: -11 ),
|
||||||
{ 5: } ( len: 1; sym: -12 ),
|
{ 5: } ( len: 1; sym: -12 ),
|
||||||
{ 6: } ( len: 0; sym: -15 ),
|
{ 6: } ( len: 0; sym: -16 ),
|
||||||
{ 7: } ( len: 4; sym: -14 ),
|
{ 7: } ( len: 5; sym: -14 ),
|
||||||
{ 8: } ( len: 0; sym: -16 ),
|
{ 8: } ( len: 0; sym: -17 ),
|
||||||
{ 9: } ( len: 6; sym: -14 ),
|
{ 9: } ( len: 7; sym: -14 ),
|
||||||
{ 10: } ( len: 1; sym: -7 ),
|
{ 10: } ( len: 1; sym: -7 ),
|
||||||
{ 11: } ( len: 1; sym: -7 ),
|
{ 11: } ( len: 1; sym: -7 ),
|
||||||
{ 12: } ( len: 4; sym: -13 ),
|
{ 12: } ( len: 2; sym: -15 ),
|
||||||
{ 13: } ( len: 1; sym: -2 ),
|
{ 13: } ( len: 4; sym: -15 ),
|
||||||
{ 14: } ( len: 1; sym: -3 ),
|
{ 14: } ( len: 2; sym: -15 ),
|
||||||
{ 15: } ( len: 1; sym: -3 ),
|
{ 15: } ( len: 2; sym: -15 ),
|
||||||
{ 16: } ( len: 1; sym: -3 ),
|
{ 16: } ( len: 1; sym: -15 ),
|
||||||
{ 17: } ( len: 1; sym: -3 ),
|
{ 17: } ( len: 1; sym: -15 ),
|
||||||
{ 18: } ( len: 1; sym: -4 ),
|
{ 18: } ( len: 1; sym: -15 ),
|
||||||
{ 19: } ( len: 1; sym: -4 ),
|
{ 19: } ( len: 1; sym: -15 ),
|
||||||
{ 20: } ( len: 1; sym: -5 ),
|
{ 20: } ( len: 1; sym: -15 ),
|
||||||
{ 21: } ( len: 1; sym: -6 ),
|
{ 21: } ( len: 1; sym: -15 ),
|
||||||
{ 22: } ( len: 0; sym: -17 ),
|
{ 22: } ( len: 1; sym: -15 ),
|
||||||
{ 23: } ( len: 2; sym: -8 ),
|
{ 23: } ( len: 0; sym: -15 ),
|
||||||
{ 24: } ( len: 0; sym: -18 ),
|
{ 24: } ( len: 4; sym: -13 ),
|
||||||
{ 25: } ( len: 4; sym: -8 ),
|
{ 25: } ( len: 1; sym: -2 ),
|
||||||
{ 26: } ( len: 1; sym: -9 ),
|
{ 26: } ( len: 1; sym: -3 ),
|
||||||
{ 27: } ( len: 1; sym: -9 )
|
{ 27: } ( len: 1; sym: -3 ),
|
||||||
|
{ 28: } ( len: 1; sym: -3 ),
|
||||||
|
{ 29: } ( len: 1; sym: -3 ),
|
||||||
|
{ 30: } ( len: 1; sym: -4 ),
|
||||||
|
{ 31: } ( len: 1; sym: -4 ),
|
||||||
|
{ 32: } ( len: 1; sym: -5 ),
|
||||||
|
{ 33: } ( len: 1; sym: -6 ),
|
||||||
|
{ 34: } ( len: 0; sym: -18 ),
|
||||||
|
{ 35: } ( len: 2; sym: -8 ),
|
||||||
|
{ 36: } ( len: 0; sym: -19 ),
|
||||||
|
{ 37: } ( len: 4; sym: -8 ),
|
||||||
|
{ 38: } ( len: 1; sym: -9 ),
|
||||||
|
{ 39: } ( len: 1; sym: -9 )
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
|
@ -147,7 +147,8 @@ var
|
|||||||
%token _ILLEGAL
|
%token _ILLEGAL
|
||||||
%token _NUMDECIMAL _NUMHEX _NUMDECIMALL _NUMHEXL _QUOTEDSTR
|
%token _NUMDECIMAL _NUMHEX _NUMDECIMALL _NUMHEXL _QUOTEDSTR
|
||||||
%token _BEGIN _END
|
%token _BEGIN _END
|
||||||
%token _LANGUAGE _VERSION
|
%token _LANGUAGE _CHARACTERISTICS _VERSION _MOVEABLE _FIXED _PURE _IMPURE _PRELOAD _LOADONCALL _DISCARDABLE
|
||||||
|
|
||||||
%token _ID
|
%token _ID
|
||||||
|
|
||||||
%type <rcnumtype> numpos numeral
|
%type <rcnumtype> numpos numeral
|
||||||
@ -172,8 +173,8 @@ resourcedef
|
|||||||
;
|
;
|
||||||
|
|
||||||
res_user
|
res_user
|
||||||
: resid resid { create_resource($1, $2); } filename_string { assign_custom_stream($4); }
|
: resid resid { create_resource($1, $2); } suboptions filename_string { assign_custom_stream($5); }
|
||||||
| resid resid { create_resource($1, $2); } _BEGIN raw_data _END { aktresource.SetCustomRawDataStream($5); }
|
| resid resid { create_resource($1, $2); } suboptions _BEGIN raw_data _END { aktresource.SetCustomRawDataStream($6); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
@ -182,6 +183,21 @@ resid
|
|||||||
| ident_string { $$:= TResourceDesc.Create($1); }
|
| ident_string { $$:= TResourceDesc.Create($1); }
|
||||||
;
|
;
|
||||||
|
|
||||||
|
suboptions
|
||||||
|
: suboptions suboptions
|
||||||
|
| _LANGUAGE numpos ',' numpos { aktresource.LangID:= MakeLangID($2.v, $4.v); }
|
||||||
|
| _CHARACTERISTICS numpos { aktresource.Characteristics:= $2.v; }
|
||||||
|
| _VERSION numpos { aktresource.Version:= $2.v; }
|
||||||
|
| _MOVEABLE { aktresource.MemoryFlags:= aktresource.MemoryFlags or MF_MOVEABLE; }
|
||||||
|
| _FIXED { aktresource.MemoryFlags:= aktresource.MemoryFlags and not MF_MOVEABLE; }
|
||||||
|
| _PURE { aktresource.MemoryFlags:= aktresource.MemoryFlags or MF_PURE; }
|
||||||
|
| _IMPURE { aktresource.MemoryFlags:= aktresource.MemoryFlags and not MF_PURE; }
|
||||||
|
| _PRELOAD { aktresource.MemoryFlags:= aktresource.MemoryFlags or MF_PRELOAD; }
|
||||||
|
| _LOADONCALL { aktresource.MemoryFlags:= aktresource.MemoryFlags and not MF_PRELOAD; }
|
||||||
|
| _DISCARDABLE { aktresource.MemoryFlags:= aktresource.MemoryFlags or MF_DISCARDABLE; }
|
||||||
|
| /* empty */
|
||||||
|
;
|
||||||
|
|
||||||
languagedef
|
languagedef
|
||||||
: _LANGUAGE numpos ',' numpos { language:= MakeLangID($2.v, $4.v); }
|
: _LANGUAGE numpos ',' numpos { language:= MakeLangID($2.v, $4.v); }
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user