Commit Graph

2251 Commits

Author SHA1 Message Date
Pierre-Marie de Rodat
ca0f8eb315 Transition Libpythonlang to Lkt/lkm
Also stop building it in `manage.py`` (it is no longer needed for common
Langkit operations). Rename and repurpose `contrib/python_grammar` to
generate+build Libpythonlang, in an attempt to ensure it does not bit
rot.
2025-02-06 09:31:49 +00:00
Remi Segard
c92a5d0027 Add visitor with default behavior in Java bindings 2025-01-31 14:35:27 +01:00
Pierre-Marie de Rodat
ee702fcc37 Lkt: rename ValDecl.val to ValDecl.expr
`val` is a keyword in Lkt, so having a field called `val` in Lkt is an
obstacle from the self-hosting of Lkt itself. Rename that field to avoid
this issue.
2025-01-27 15:20:56 +00:00
Pierre-Marie de Rodat
dfaad89720 Ensure that "lkm build" and "lkm run" do not import liblktlang 2025-01-27 15:20:43 +00:00
Pierre-Marie de Rodat
ab30efda52 Lkt unparsing: fix handing of token literals in GrammarRuleDecl 2025-01-27 15:19:13 +00:00
Pierre-Marie de Rodat
8d21266304 lkm run: fix the handling of arbitrary subcommand arguments 2025-01-27 15:15:15 +00:00
Pierre-Marie de Rodat
7c5ef1f686 langkit.documentation: remove unused doc entries 2025-01-27 15:02:09 +00:00
Pierre-Marie de Rodat
bd8fbdf735 Testsuite: add missing calls to sys.stdout.flush() for consistent output
Flushing is necessary whenever there is potentially buffered content in
Python's sys.stdout and the test is about to run native code (call to
a C/Ada routine, or spawning a subprocess). The couple of adjustments in
this commit were found necessary with testing on a local Windows machine
(not visible in production).
2025-01-27 13:29:03 +00:00
Remi SEGARD
73a58df455 Implement a new typer for Lkt using the Logic DSL 2025-01-24 14:23:57 +00:00
Pierre-Marie de Rodat
082d11ed39 Add Valgrind suppressions for leaks in System.Traceback.Symbolic 2025-01-22 15:53:20 +01:00
Pierre-Marie de Rodat
f749c71c6b langkit.libmanage: always give direct access to C headers
For some commands, like "lkm setenv" or "lkm run", it is not possible to
determine whether direct access to C headers will be needed eventually,
so unconditionally give access to them. Since the only C header present
in the generated sources is the language-specific header, this should
not be a problem in practice.
2025-01-20 15:35:14 +00:00
Pierre-Marie de Rodat
8f77f39fca lkm: introduce the "run" subcommand 2025-01-20 15:35:14 +00:00
Pierre-Marie de Rodat
434e426223 langkit.config: enable types_from_lkt by default for LktSpec 2025-01-20 15:18:25 +00:00
Pierre-Marie de Rodat
1d8c5d378a langkit.unparsing: remove ambient location for diagnostics 2025-01-20 13:54:28 +00:00
Pierre-Marie de Rodat
67f2b76a13 Lkt lowering: add missing location for RefCategories positional args. 2025-01-20 13:54:28 +00:00
Pierre-Marie de Rodat
9a74d53703 Lkt lowering: add missing location for struct cons. positional args. 2025-01-20 13:54:28 +00:00
Romain Beguet
6b7b8673af Remove obselete test sources re-introduced by mistake. 2025-01-20 11:13:09 +00:00
Hugo Guerrier
8c5d6fe202 Adapt Java API to exception stack trace exposure 2025-01-20 08:56:41 +00:00
Hugo Guerrier
64996efa0c Store Ada stack trace in C API exception structs
Do this to allow access to the Ada stack trace of an exception, even
from the bindings.
2025-01-20 08:56:41 +00:00
Romain Beguet
0f19dacc31 Reword dynamic to variadic in test case. 2025-01-17 11:49:50 +01:00
Romain Beguet
1625c65202 Unify handling of predicate and functor closures.
After this refactoring, most of the implementation of closure
instantiation for predicate and propagate atoms is shared, such that:
- it is now possible to plug partial arguments directly in the
  constuction of a propagate atom.
- it is now possible to use as predicate a property that accepts an
  array of entities, to be instantiated with an array of logic vars.
2025-01-17 11:49:50 +01:00
Romain Beguet
62a34c3665 Simplify propagate's property resolution.
This removes the possibility to use a field access as a property reference,
but it doesn't seem like a big loss as is looked pretty confusing.
2025-01-15 17:07:09 +01:00
Pierre-Marie de Rodat
3fbb1c38b7 langkit.config: rename "lkt" to "lkt_spec" 2025-01-09 19:59:12 +00:00
Pierre-Marie de Rodat
fde3edae08 Transtion create-project.py and related tests to Lkt/lkm 2025-01-07 15:14:00 +00:00
Pierre-Marie de Rodat
f786aadfaf Add tests for invalid language configurations 2025-01-07 15:09:51 +00:00