- edited description
Nested functions problems
Issue #36
on hold
I have code with deeply nested functions.
This code below is ok:
procedure test();
procedure test_2();
procedure test_3();
begin
end;
begin
end;
begin
end;
But one more level and you plugin show error:
procedure test();
procedure test_2();
procedure test_3();
procedure test_4(); <-- error here
begin
end;
begin
end;
begin
end;
begin
end;
My Boss love deeply nested functions, and I have code with much more levels.
Regards
Daniel Roziecki
Comments (3)
-
reporter -
repo owner - changed status to on hold
Currently, routine nesting is limited to 3 levels due to parser performance reasons. Some rework needed to support unlimited nesting. I though there is no much point in more levels.
-
reporter function compile_section; function parse_list:prog_ref; {tworzy reprezentację listy instrukcji} procedure parse_statement(var l:prog_ref); {dodaje do listy pojedyńczą instrukcję} var e,s1,s2:prog_ref; no:integer; pr:proc_ref; function parse_params(pcount:smallint):prog_ref; forward; function parse_expression:prog_ref; {rozpoznaje wyrażenie} var op:prog_stmt; function parse_elementary:prog_ref;
Give me 10 levels, should be enough. I will refactor rest. If I could I would remove whole this code, but I can't.
Maybe it could be plugin's parameter?
- Log in to comment