[Dlang-internal] Parsing string mixin as normal code
Martin Nowak via Dlang-internal
dlang-internal at puremagic.com
Wed Jul 19 04:48:39 PDT 2017
On Tuesday, 4 July 2017 at 14:48:00 UTC, RazvanN wrote:
> After going through the compiler code that does parsing, I
> noticed that whenever a mixin is encountered, a
> CompileStatement node is created and its contents are parsed
> later on when semantic is performed. I am not sure for other
> cases, but at least for simple string mixins you could parse
> the string right away without instantiating a new parser. Is
> there a reason for deferring the parsing to the semantic
> analysis phase?
Guess with parsing right away you mean during the initial module
parsing.
It's the distinguishing between simple and complex that mandates
the later parsing.
Temporal/order dependencies between different stages are tricky
enough in the compiler, better to just stick with one behavior.
Also most mixin expressions aren't trivial (at least require
concat and usually formatting), so it's hardly optimizing.
Might be more interesting for `mixin(import("code.d"));`, but
it's fine as is.
More information about the Dlang-internal
mailing list