Should a parser type be a struct or class?
user1234
user1234 at 12.de
Thu Jun 18 04:26:34 UTC 2020
On Wednesday, 17 June 2020 at 11:50:27 UTC, Per Nordlöw wrote:
> Should a range-compliant aggregate type realizing a parser be
> encoded as a struct or class? In dmd `Lexer` and `Parser` are
> both classes.
>
> In general how should I reason about whether an aggregate type
> should be encoded as a struct or class?
You have the example of libdparse that shows that using a class
can be a good idea [1] [2].
For DCD, the parser overrides a few thing because otherwise
completion does not work properly or has scope issues. But TBH
there's not many reasons to use a class otherwise.
[1]
https://github.com/dlang-community/dsymbol/blob/master/src/dsymbol/conversion/package.d#L102
[2]
https://github.com/dlang-community/dsymbol/blob/master/src/dsymbol/conversion/package.d#L138
More information about the Digitalmars-d-learn
mailing list