Transition all relevant testcases to it. In the process, port
docstrings/comments from test.py files to expected_concrete_syntax.lkt
(now test.lkt) sources and fix stylechecks issues there.
(cherry picked from commit e1c4fe5804)
Whether to generate unparsers or not has non-trivial implications on the
language spec. For this reason, it does not make much sense to keep this
setting as a code generation option: it should instead be a property of
the language spec itself.
In particular, rename "ada_main" to "gpr_main" and allow it to contain
both Ada and C mains. Also remove the now useless "with_c" argument, and
the unused "mains" one as well.
The actual feature behind this flag has been removed for a long time
(the generic introspection API, always generated, depends on the public
Ada API), so remove the last bits.
This allows GCC, when used to build C mains, to access the C header
through command line arguments instead of through the `C_INCLUDE_PATH`
environment variable, which lets GCC emit warnings for issues found in C
headers. This will be useful to detect issues in generated code.
In order to remove the language-specific introspection API, upcoming
changes will introduce uses of the generic API in LAL's implementation.
The generic API implementation depends on the public Ada API, so we need
to always generate the latter.
The impact on the testsuite execution time is acceptable: it goes from
1m26 before this patch to 1:37 on a beefy machine.
TN: W106-006
Use the same default values as in CompileCtx's constructor: None. This
should get rid of these strange version numbers in the testsuite, which
may annoy Maven for the upcoming Java bindings.
TN: W125-027