In practice, it's usually harder to create a true LL(1) grammar than a more complex one, because the most common parsing techniques and parser generators handle LL(k) at least.* You'd have to manually check the grammar is still LL(1) after you've already written the parser.
If you don't particularly care about syntax, there's no reason to write a parser at all: just use S-expressions, XML, JSON, or some other tree-structured data format (but hopefully not YAML). Alternatively, you can "shallowly embed" your language in another and reuse its syntax. If you do care about syntax and don't want to shallowly embed, the easiest way to create a parser is probably either recursive descent with a language-specific "parser combinator" library, or via a popular parser generator like ANTLR4 or tree-sitter (both of which target most popular languages).
One notable exception is if you can fit your grammar into a regular expression, it may be considerably easier to parse via a "regex" than to hand-write or generate a parser for. Since most languages have regex libraries, and a regex is a small string, it can often be done in one or two lines of code. However, AFAIK there's no "regex" equivalent for LL(1) grammars; that is, no technique to represent LL(1) grammars in a way that's more consise than LL(k) or other would be.
* Most modern languages are parsed from hand-rolled recursive-descent parsers. When writing a hand-rolled parser you have the power of a full programming language, so it's easy to write something that's not even context-free. From Wikipedia's list of parser generators, almost all support at least LL(k).
TYPE *var;
to be "ergonomic"? Because you can't do that with "pure" LL(1) (since it can't be distinguished from a multiplication). $\endgroup$match
statement to be added to the language without breaking (all) code that usedmatch
as an identifier. $\endgroup$