我发现了一个Delphi的ANTLR3语法,链接如下:ANTLR3 Delphi Grammar,我正在尝试将其转换为ANTLR4。但是我遇到了一个奇怪的问题,我无法理解。我创建了一个仓库,里面包含ANTRL4 Delphi语法。
大部分东西似乎都能正常工作,但如果我有一个简单的单元包含以下内容:
大部分东西似乎都能正常工作,但如果我有一个简单的单元包含以下内容:
unit TestParser;
interface
procedure Dim(var dd: string; const Dim1: Integer; const Dim2: Integer); overload;
implementation
procedure Dim(var dd: string; const Dim1: Integer; const Dim2: Integer); overload;
begin
//do something
end;
end.
当遇到第一个procedure关键字时,会在interfaceDecl中调用procDecl。但是一旦到达var和/或const,它就会中断procDecl并开始varSection / constSection,而不是完成procDecl。
我必须承认,我对ANTLR还比较陌生,所以任何帮助都将不胜感激。