DelphiAST
1.0.0
Avec Delphiast, vous pouvez prendre un vrai code Delphi et obtenir une arborescence de syntaxe abstraite. Une unité au temps et sans table de symboles cependant.
Freepascal et Lazarus compatibles.
unit Unit1;
interface
uses
Unit2;
function Sum (A, B: Integer): Integer;
implementation
function Sum (A, B: Integer): Integer;
begin
Result := A + B;
end ;
end .< UNIT line = " 1 " col = " 1 " name = " Unit1 " >
< INTERFACE begin_line = " 3 " begin_col = " 1 " end_line = " 10 " end_col = " 1 " >
< USES begin_line = " 5 " begin_col = " 1 " end_line = " 8 " end_col = " 1 " >
< UNIT line = " 6 " col = " 3 " name = " Unit2 " />
</ USES >
< METHOD begin_line = " 8 " begin_col = " 1 " end_line = " 10 " end_col = " 1 " kind = " function " name = " Sum " >
< PARAMETERS line = " 8 " col = " 13 " >
< PARAMETER line = " 8 " col = " 14 " >
< NAME line = " 8 " col = " 14 " value = " A " />
< TYPE line = " 8 " col = " 20 " name = " Integer " />
</ PARAMETER >
< PARAMETER line = " 8 " col = " 17 " >
< NAME line = " 8 " col = " 17 " value = " B " />
< TYPE line = " 8 " col = " 20 " name = " Integer " />
</ PARAMETER >
</ PARAMETERS >
< RETURNTYPE line = " 8 " col = " 30 " >
< TYPE line = " 8 " col = " 30 " name = " Integer " />
</ RETURNTYPE >
</ METHOD >
</ INTERFACE >
< IMPLEMENTATION begin_line = " 10 " begin_col = " 1 " end_line = " 17 " end_col = " 1 " >
< METHOD begin_line = " 12 " begin_col = " 1 " end_line = " 17 " end_col = " 1 " kind = " function " name = " Sum " >
< PARAMETERS line = " 12 " col = " 13 " >
< PARAMETER line = " 12 " col = " 14 " >
< NAME line = " 12 " col = " 14 " value = " A " />
< TYPE line = " 12 " col = " 20 " name = " Integer " />
</ PARAMETER >
< PARAMETER line = " 12 " col = " 17 " >
< NAME line = " 12 " col = " 17 " value = " B " />
< TYPE line = " 12 " col = " 20 " name = " Integer " />
</ PARAMETER >
</ PARAMETERS >
< RETURNTYPE line = " 12 " col = " 30 " >
< TYPE line = " 12 " col = " 30 " name = " Integer " />
</ RETURNTYPE >
< STATEMENTS begin_line = " 13 " begin_col = " 1 " end_line = " 15 " end_col = " 4 " >
< ASSIGN line = " 14 " col = " 3 " >
< LHS line = " 14 " col = " 3 " >
< IDENTIFIER line = " 14 " col = " 3 " name = " Result " />
</ LHS >
< RHS line = " 14 " col = " 13 " >
< EXPRESSION line = " 14 " col = " 13 " >
< ADD line = " 14 " col = " 15 " >
< IDENTIFIER line = " 14 " col = " 13 " name = " A " />
< IDENTIFIER line = " 14 " col = " 17 " name = " B " />
</ ADD >
</ EXPRESSION >
</ RHS >
</ ASSIGN >
</ STATEMENTS >
</ METHOD >
</ IMPLEMENTATION >
</ UNIT >Copyright (c) 2014-2020 Roman Yankovsky ([email protected]) et al
Delphiast est libéré sous la licence publique de Mozilla, v. 2.0
Voir la licence pour plus de détails.