6 Commits

Author SHA1 Message Date
Ronan Desplanques
3b9a2746b6 Add support for "finally" GNAT extension
For a description of the extension, see the GNAT reference manual.

An effort has been made to minimize the impact on parsing error recovery.

Basic benchmarking was performed and showed no observable performance
impact.
2025-12-16 10:33:33 +01:00
Pierre-Marie de Rodat
4382a22f9c Reorganize the source tree
Move most of "ada/*" to the root directory (this makes sense, as this
repository has been dedicated to Libadalang for years), and rename
"ada/language" to "ada".

TN: T914-010
2020-11-02 16:51:46 +01:00
Raphael Amiard
1351ac3234 libadalang: clean directory structure
* put langkit and libadalang in separate root directories

O611-018

Change-Id: I79200c2b4a109f8291dcde4f8eb7472b8880bd74
2015-06-15 13:03:12 +02:00
Raphael Amiard
834945ba04 Correct main rule to be more lax
* Basically we now parse a list of elements rather than one element, which
  has the benefit of:
    * Allow parsing pragmas
    * Allow empty files syntactically
    * Allow parsing multiple bodies as part of a file

* ada/ada_parser/bodies.py: Update the field CompilationUnit.body ->
  bodies to account for the fact that it is now a list

* Tests:
    * Update baselines where needed
    * Adapt python tests to the new tree structure
    * Adapt C tests to the new tree structure
    * Correct the tree_full_dump python test, which was not
      printing lists anymore

Change-Id: I1112c478312ceb84fbd1605d4746ccdf11d1f277
2015-06-01 14:49:43 +02:00
Pierre-Marie de Rodat
f4875614a7 Rework the analysis API
Revamp the analysis context primitives to create/remove analysis units
so that:

  * their behavior is defined in error cases
  * reparsing is possible
  * parsing from a memory buffer is possible

Update existing testcases to cope with these changes and add new ones to
exercise these features in the C and Python APIs.

Followup on O519-029

Change-Id: I409d63bef32cb1a920f402d7957ba8cd2668eb66
2015-05-25 14:44:25 +02:00
Pierre-Marie de Rodat
356d7192d3 Add Python API generation
Followup on O323-002

Change-Id: I8fe346609482a02edc2f5928cfaddd6e16e065e9
2015-03-26 11:12:01 +01:00