Replaced Count-Node by RTL-Function

This commit is contained in:
Michael Schimmel
2026-01-13 23:17:32 +01:00
parent 1258f79347
commit 2cc5e53394
17 changed files with 27 additions and 213 deletions
-14
View File
@@ -224,9 +224,6 @@ type
[Ebnf('form-add ::= "add-item" expression expression [ expression ]')]
function ParseAddItem: IAstNode;
[Ebnf('form-count ::= "count" expression')]
function ParseCount: IAstNode;
[Ebnf('form-get ::= "get" expression expression')]
function ParseGet: IAstNode;
@@ -510,7 +507,6 @@ begin
FSpecialForms.Add('pipe', ParsePipe);
FSpecialForms.Add('new-series', ParseNewSeries);
FSpecialForms.Add('add-item', ParseAddItem);
FSpecialForms.Add('count', ParseCount);
FSpecialForms.Add('get', ParseGet);
NextToken;
end;
@@ -995,16 +991,6 @@ begin
Result := TAst.AddSeriesItem(s.AsIdentifier, v, lb);
end;
function TParser.ParseCount: IAstNode;
var
s: IAstNode;
begin
s := ParseExpression;
if s.Kind <> akIdentifier then
Error('Count argument must be an identifier');
Result := TAst.SeriesLength(s.AsIdentifier);
end;
function TParser.ParseGet: IAstNode;
var
base, idx: IAstNode;