Lauri Vasama
04fe27b8e9
Migrate Clift users to CDataModel
2026-05-04 10:49:03 +03: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
58cff91c3b
CTokenEmitter: allow identifiers in comments
2026-04-22 06:14:52 +00:00
Lauri Vasama
c18164c25d
Simplify IndentingEmitter; make configurable
2026-04-09 18:37:46 +03:00
Lauri Vasama
cacaa9fff1
Fix CTokenEmitter::CommentEmitter newlines
2026-04-09 18:37:46 +03:00
Ivan Krysak
5c55680e49
PTML: fix list attribute emission
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
Pietro Fezzardi
5415f81204
CTokenEmitter: set actions for the macro location
2026-02-27 18:28:12 +00:00
Ivan Krysak
de4c816147
CTokenEmitter: improve an error message
2026-02-25 14:10:44 +01:00
Ivan Krysak
14c2b4e5da
Fix unset allowed actions local identifiers
2026-02-25 14:10:44 +01:00
Ivan Krysak
bdc1dfcc8d
CTokenEmitter: set actions explicitly
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
17c173b3d9
Add CTokenEmitter::CommentEmitter interface
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
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
6b764ccbd1
Use octal escapes instead of hexadecimal
...
A hexadecimal escape sequences consume an unlimited number of
hexadecimal digits, causing invalid code emission in the case that the
sequence is followed by an unrelated hexadecimal digit.
2026-02-11 12:48:33 +02:00
Alessandro Di Federico
5820908675
Remove and ban \file
2025-12-16 17:41:55 +01:00
Ivan Krysak
a88747cf99
Drop unused includes
2025-10-08 12:22:34 +03: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
97aa3c8247
std::string: use implicit default constructor
2025-07-23 11:38:53 +02:00
Ivan Krysak
f391392fe9
Use explicit separator strings
2025-07-23 11:38:52 +02:00
Ivan Krysak
872d6016a5
Doxygen: allow suppressing newlines before comment
2025-05-08 15:42:01 +02:00
Ivan Krysak
09172975d5
Doxygen: remove an unnecessary newline
2025-05-08 15:42:00 +02:00
Ivan Krysak
7eb3f19422
Doxygen: add a missing space
2025-05-08 15:42:00 +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
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
645cf7fc2e
NameBuilder: sunset deduplication
...
This reworks NameBuilder to ease the transition to the system where
the model will be guaranteed to never contain any name collisions, both
between user-specified names and the automatic ones.
2025-04-15 16:35:42 +03:00
Ivan Krysak
705e4a5955
auto [...] -> auto &&[...]
2025-02-13 13:10:51 +02:00
Ivan Krysak
05faed3795
PTML: introduce a way to disable comment warnings
2025-02-13 13:09:50 +02:00
Ivan Krysak
1c9b6a70db
PTML: add statement comment support
2025-02-13 13:09:50 +02:00
Ivan Krysak
8841bc7144
Don't include model::NameBuilder from the binary
2025-02-13 13:09:50 +02:00
Ivan Krysak
929cb4b35b
Minor improvements
2025-02-13 13:09:50 +02:00
Ivan Krysak
672ee5df50
Replace std::string_view with llvm::StringRef
2024-11-06 15:43:13 +02:00
Ivan Krysak
a67ba96644
Adopt name builder across the model users
2024-11-06 15:43:13 +02:00
Ivan Krysak
99e966f6e8
ptml::TagBuilder: rename GenerateTagLessPTML
...
The new name is `IsInTaglessMode`.
This also makes it public, since their no point of keeping a const
option private.
2024-10-15 09:12:55 +02:00
Ivan Krysak
43f0304cb2
Pipeline: toString -> locationString
2024-10-15 09:12:55 +02:00
Ivan Krysak
9ebe98e5c8
PTMLIndentedOstream: rename into IndentedOstream
2024-10-15 09:12:55 +02:00
Ivan Krysak
ec19b26ee9
PTMLBuilder: rename into ptml::MarkupBuilder
2024-10-15 09:12:55 +02:00
Alessandro Di Federico
2cdedc71f4
s/serialize/toString/
...
We keep serialize for method dealing with streams.
If it returns a `std::string`, let's use `toString`.
2024-09-27 12:07:17 +02:00