更新tsl,支持在成员声明时候初始化
This commit is contained in:
JianjunLiu 2023-07-18 13:53:02 +08:00
parent 9123b517f5
commit ca57fd2e13
3 changed files with 19 additions and 0 deletions

Binary file not shown.

View File

@ -395,6 +395,7 @@ type tslparser = class(tslparserbase) //
end end
function parserfiled(priv); function parserfiled(priv);
begin begin
cstflg := false;
rcount := 0; rcount := 0;
r := array(); r := array();
while true do while true do
@ -406,6 +407,18 @@ type tslparser = class(tslparserbase) //
bpos(); bpos();
break; break;
end end
if tk="=" and tp=TT_SYM then
begin
ctoken(tk,tp,pos);
if ifnil(tk) then break;
if tp=TT_SYM then
begin
bpos();
continue;
end
r[rcount]["init"] := tk;
continue;
end
if tk=";" then if tk=";" then
begin begin
if rcount then if rcount then
@ -472,11 +485,17 @@ type tslparser = class(tslparserbase) //
end end
end end
end else end else
if tk="const" then
begin
cstflg := true;
end
else
begin begin
r[rcount]["name"]:= tk; r[rcount]["name"]:= tk;
r[rcount]["beg"]:= pos; r[rcount]["beg"]:= pos;
r[rcount]["id"]:= rcount; r[rcount]["id"]:= rcount;
r[rcount]["priv"]:= priv; r[rcount]["priv"]:= priv;
if cstflg then r[rcount]["const"] := true;
end end
end end
len := length(r); len := length(r);

Binary file not shown.