Adacovex.Parsers.Source¶
Ada source-file scanner. Walks a project directory tree, reads every .ads file, extracts subprogram declarations, HLR tags, and docstring annotations. HLR-SCAN: Source scanning
Supported docstring annotations (placed immediately before a subprogram declaration, no intervening blank lines): @param Name Description. – Document a formal parameter @return Description. – Document a function return value @field Description. – Document a record component @formal Name Description. – Document a generic formal
Standard tag aliases are accepted (@parameter == @param,
@returns == @return), and the summary tags @brief / @summary
mark a subprogram as documented.
Conventions (following Ada_CRDT style): Prefix: – (two dashes + two spaces) Summary: Capitalized sentence ending with a period. Alignment: Two spaces between tag name and description text. Placement: Summary lines first, then tag lines, then declaration.
Other standard comment styles are also recognised as docstrings:
– one-line summary (single space, -- )
– one-line summary (two spaces, -- )
– one-line summary (tab separator)
A bare -- or --- divider is not a docstring. Docstrings can
appear before or after the declaration.
Google style (Doxygen-free Python convention): – Args: – X (int): First operand. – Returns: – The sum. An “Args:” header opens a parameter block: deeper-indented comment lines inside it count as parameter entries. “Returns:” marks a documented return value.
Sphinx style (reStructuredText field lists): – :param X: First operand. – :returns: The sum. “:param”/”:parameter” count as parameters, “:return”/”:returns” mark a documented return value, and “:type”/”:rtype” mark the subprogram as documented.
See also: Docstring Spec | Architecture – Patch System
Note: All items in this package are public.
Functions¶
function Compute_Docstring_Metrics (Packages : Adacovex.Types.Implementation.Package_Vectors.Vector) return Adacovex.Types.Docstring_Metrics [Global]¶
Parameter |
Description |
|---|---|
|
Vector of scanned packages. |
Returns: Aggregate docstring-coverage metrics.
Procedures¶
procedure Apply_Patches (Target_Dir : Standard.String; Packages : Adacovex.Types.Implementation.Package_Vectors.Vector)¶
Parameter |
Description |
|---|---|
|
In/out vector of scanned packages to patch. |
|
Root directory used for patch path resolution. |
procedure Scan_Ads_File (File_Path : Standard.String; Pkg : Adacovex.Types.Implementation.Package_Info; Success : Standard.Boolean) [Pre] [Post]¶
Parameter |
Description |
|---|---|
|
|
|
|
|
procedure Scan_Project (Target_Dir : Standard.String; Skip_List : Standard.String; Packages : Adacovex.Types.Implementation.Package_Vectors.Vector; Skipped_Ct : Standard.Natural)¶
Parameter |
Description |
|---|---|
|
Output vector of parsed packages (appended to). |
|
Comma-separated directory names to skip (e.g. “.git,obj”). |
|
Number of .ads files skipped (line/path overflow). |
|
Root directory to scan recursively. |
procedure Scan_Project_Cached (Target_Dir : Standard.String; Skip_List : Standard.String; Packages : Adacovex.Types.Implementation.Package_Vectors.Vector; Skipped_Ct : Standard.Natural; Hits : Standard.Natural; Misses : Standard.Natural; Use_Cache : Standard.Boolean)¶
Parameter |
Description |
|---|---|
|
Number of files served from the cache. |
|
Number of files rescanned and re-cached. |
|
Output vector of parsed packages (appended to). |
|
Comma-separated directory names to skip. |
|
Number of .ads files skipped (line/path overflow). |
|
Root directory to scan recursively. |
|
When False the cache is bypassed and every file is |