You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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 with 720
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
The text was updated successfully, but these errors were encountered: