tsl
更新tsl,支持在成员声明时候初始化
This commit is contained in:
Binary file not shown.
@@ -395,6 +395,7 @@ type tslparser = class(tslparserbase) //
|
||||
end
|
||||
function parserfiled(priv);
|
||||
begin
|
||||
cstflg := false;
|
||||
rcount := 0;
|
||||
r := array();
|
||||
while true do
|
||||
@@ -406,6 +407,18 @@ type tslparser = class(tslparserbase) //
|
||||
bpos();
|
||||
break;
|
||||
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
|
||||
begin
|
||||
if rcount then
|
||||
@@ -472,11 +485,17 @@ type tslparser = class(tslparserbase) //
|
||||
end
|
||||
end
|
||||
end else
|
||||
if tk="const" then
|
||||
begin
|
||||
cstflg := true;
|
||||
end
|
||||
else
|
||||
begin
|
||||
r[rcount]["name"]:= tk;
|
||||
r[rcount]["beg"]:= pos;
|
||||
r[rcount]["id"]:= rcount;
|
||||
r[rcount]["priv"]:= priv;
|
||||
if cstflg then r[rcount]["const"] := true;
|
||||
end
|
||||
end
|
||||
len := length(r);
|
||||
|
||||
BIN
Binary file not shown.
Reference in New Issue
Block a user