Files
uwrap/README.md

47 lines
1.6 KiB
Markdown
Raw Permalink Normal View History

2020-07-09 14:54:40 -04:00
UWrap
=====
UWrap is a tool aimed at processing tree structures, identifying patterns and
2020-07-09 14:54:40 -04:00
generating another tree structure as a result. The main use case currently
implemented and documented is to process an Ada source tree generated by
libadalang in order to either generate various kind of messages and analysis,
2020-07-09 14:54:40 -04:00
or to wrap it around another Ada source file. This can be used in particular
to wrap a thin binding generated by -fdump-ada-specs to a thicker binding.
2020-07-09 14:54:40 -04:00
Documentation
=============
NOTE ON THE CURRENT STAGE OF THE DOCUMENTATION
Since it was initially written, many elements of the language have evolved
(although the fundamental concepts have not changed). The current documentation
is not up to date and describes syntactically and sometimes semantically
incorrect structures. The testsuite, however, is up to date and can be used
as a reference.
2020-07-09 14:54:40 -04:00
Full documentation is currently work in progress. However, a
2020-07-09 14:56:05 -04:00
[tutorial](https://github.com/AdaCore/uwrap/tree/master/documentation/tutorial) is
2020-07-09 14:54:40 -04:00
available to provide basic concepts from a user point of view.
Build
=====
To build UWrap, you will need a recent version of the GNAT Ada compiler, as
well as [Langkit](https://github.com/AdaCore/langkit) and [Libadalang](https://github.com/AdaCore/libadalang).
To make the project, you will first need to build its two dependencies
lang_template and lang_test, and properly set the path:
~~~sh
cd lang_test
make
cd ../lang_template
make
cd ..
source env.sh
2020-07-09 14:54:40 -04:00
gprbuild
~~~
2020-07-09 14:56:05 -04:00
This will create the uwrap executable under obj/. Note that this executable needs
to stay here, as it expects specific files under ../include.