Commit Graph

81 Commits

Author SHA1 Message Date
Ivan Krysak 53b868e48f PTML: drop unused interfaces 2026-06-15 17:28:22 +02:00
Lauri Vasama 04fe27b8e9 Migrate Clift users to CDataModel 2026-05-04 10:49:03 +03:00
Ivan Krysak 2a401ceb3f DoxygenEmitter: prevent indentation highlighting 2026-04-22 08:19:35 +00:00
Ivan Krysak 280d66a441 CTokenEmitter: wrap everything into a <div> 2026-04-22 06:33:56 +00:00
Ivan Krysak 8c3cbcca23 DoxygenEmitter: add internal indentation support 2026-04-22 06:33:56 +00:00
Ivan Krysak 8e456cbca9 CDoxygenEmitter: add one-shot comment helpers 2026-04-22 06:33:56 +00:00
Ivan Krysak 30e8f4e53e CDoxygenEmitter: introduce in-place factories 2026-04-22 06:33:56 +00:00
Ivan Krysak 141bddb241 CDoxygenEmitter: pull factories in as methods 2026-04-22 06:33:56 +00:00
Ivan Krysak 995a94877d CDoxygenEmitter: factor configuration out 2026-04-22 06:33:56 +00:00
Ivan Krysak d3e22a2b05 CTokenEmitter: add #pragma once helper 2026-04-22 06:33:56 +00:00
Ivan Krysak f69a0345b7 CTokenEmitter: introduce Commentable region 2026-04-22 06:14:52 +00:00
Ivan Krysak f1739e1a0f IndentingEmitter: drop emitNewline 2026-04-22 06:14:50 +00:00
Pietro Fezzardi 715a2e54b0 IndentingEmitter: initialize IndentationString 2026-04-13 11:39:55 +02:00
Lauri Vasama d813581ae4 Add DoxygenEmitter documentation 2026-04-09 18:37:46 +03:00
Lauri Vasama c18164c25d Simplify IndentingEmitter; make configurable 2026-04-09 18:37:46 +03:00
Lauri Vasama 79a4fbc808 Fix DoxygenEmitter line prefix emission 2026-04-09 18:37:46 +03:00
Ivan Krysak 9de53e434d CAttributes: introduce _NORETURN 2026-03-27 08:24:10 +00:00
Ivan Krysak 446e8cb88d CAttributes: introduce _ALWAYS_INLINE 2026-03-27 08:23:31 +00:00
Ivan Krysak fad05621cc CAttributes: drop IsReal property 2026-03-27 08:22:52 +00:00
Ivan Krysak 729b025de3 CAttributes.h: move back to PTML
When `revng` and `revng-c` were being merged, this header founds its
way into `revngSupport` even though it makes more sense under the PTML
umbrella.
2026-03-27 07:19:27 +00:00
Ivan Krysak 41378913b2 CTokenEmitter: add a suffix-less literal helper 2026-03-04 08:20:00 +00:00
Ivan Krysak b63102ed12 CTokenEmitter: introduce Macro entity kind 2026-02-27 18:28:12 +00:00
Ivan Krysak 3bec80c9ba PTML: introduce c.macro token type 2026-02-27 18:28:12 +00:00
Ivan Krysak 8a6706e7ac Doxygen: leave a TODO 2026-02-25 14:10:44 +01:00
Ivan Krysak 91ed5e33a8 PTML: make enum scope named for consistency sake 2026-02-25 12:47:27 +01:00
Ivan Krysak 22fe32afa2 Minor improvements 2026-02-25 12:47:27 +01:00
Lauri Vasama 07fbf344c2 Implement Clift PTML instruction tag emission 2026-02-13 08:41:39 +02:00
Lauri Vasama 60e1684127 Generalize CommentPlacementHelper 2026-02-13 08:41:39 +02:00
Lauri Vasama 757f278134 Add ptml::DoxygenEmitter, CDoxygenEmitter
These streams allow emitting Doxygen comments in C and other languages
using various Doxygen style options.
2026-02-13 08:41:39 +02:00
Lauri Vasama 17c173b3d9 Add CTokenEmitter::CommentEmitter interface 2026-02-13 08:41:39 +02:00
Lauri Vasama c93e9f17fc Add CTokenEmitter documentation 2026-02-13 08:41:39 +02:00
Lauri Vasama 61cbd93bab Overhaul PTMLEmitter
* PTMLEmitter is now a concept subsuming Emitter.
* PTMLStreamEmitter is a concrete emitter implementing PTMLEmitter.
* Indentation no longer includes PTML tags.
* PTMLTagEmitter is no longer default-constructible or reusable.
2026-02-13 08:39:03 +02:00
Lauri Vasama e127f433ad Factor indentation out of ptml::Emitter 2026-02-11 12:50:40 +02:00
Lauri Vasama 21fa80f831 Introduce ptml::Emitter concept 2026-02-11 12:48:33 +02:00
Lauri Vasama 021d99cc39 Rename ptml::Emitter to ptml::PTMLEmitter 2026-02-11 12:48:33 +02:00
Lauri Vasama 04b035749b Add ptml::tokens::Punctuation 2026-02-11 12:48:33 +02:00
Lauri Vasama 8cbc0e6d24 Move CTokenEmitter into namespace ptml 2026-02-11 12:48:33 +02:00
Lauri Vasama 18773ba22c Add Clift declaration attribute support 2025-09-29 18:05:55 +03:00
Lauri Vasama 6839ce4208 Add streaming CTokenEmitter interface 2025-09-29 18:05:55 +03:00
Lauri Vasama c3fd7d67a0 Add streaming ptml::Emitter interface 2025-09-29 18:05:55 +03:00
Ivan Krysak c7bba8c1b9 Prevent Support headers from depending on PTML 2025-05-08 15:42:01 +02:00
Ivan Krysak 872d6016a5 Doxygen: allow suppressing newlines before comment 2025-05-08 15:42:01 +02:00
Ivan Krysak fa2f243f12 PTML: avoid auto in constexpr string literals 2025-05-08 15:42:00 +02:00
Ivan Krysak 66b42298de PTML: Emit a location for statement comments 2025-05-08 15:42:00 +02:00
Ivan Krysak 0d868894a2 model::Function: switch to indices as comment keys 2025-05-08 15:42:00 +02:00
Ivan Krysak c6e38cd485 Return to using constant name builders
Because of how name builders used to lazy gather namespaces on the first
requested name, the objects were self mutating. As such only non-const
references could be used to pass them around.

Since that is no longer the case, this restores most of lost const
qualifiers.
2025-04-17 11:19:17 +03:00
Ivan Krysak 57b5eb7f98 NameBuilder: allow different name checkers 2025-04-17 11:19:17 +03:00
Ivan Krysak 3edb6cbb9b Minor improvements 2025-04-15 16:35:42 +03:00
Ivan Krysak 705e4a5955 auto [...] -> auto &&[...] 2025-02-13 13:10:51 +02:00
Ivan Krysak 9082c500cb IndentedOstream: introduce currentIndentation() 2025-02-13 13:09:50 +02:00