Open Nico314159 opened 4 months ago
This is a problem in __parse_header
which it tries to parse line #define Units(x) EVAL((x * SCALE) \ 1)
then tries to evaluate EVAL((x * SCALE) \ 1)
first which obviously fails. Parsing header depends on the tokenizer which completely parse out the replacement tokens for define first. A possible solution is to hoist binding EVAL to the last stage of parsing header somehow, then apply it back again somehow. I'll look into this later.
Describe the bug [A clear and concise description of what the bug is.]
When using
#define
, defining another macro factory in terms ofEVAL
expressions results in a parsing error.To Reproduce [Steps to reproduce the behavior]
.hjmc
file:jmc compile
Expected behavior [A clear and concise description of what you expected to happen.]
I expect that the code would compile without error, and that if something like
Units(1.5)
appeared in the main code, it would be automatically replaced with720
Actual behavior
I get the following error.
Desktop