-
Notifications
You must be signed in to change notification settings - Fork 4
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
IE-0019: Unicode command parser support #19
Conversation
Of course, as soon as that went in, I discovered more work to do! Okay, let me back up to the current status of my branch. This much works:
Problems still untackled:
Also, the
...then Inter complains at you:
I'm not sure how to deal with that. The problem is that some other constants ( (Or does it? |
Given that it's what the Glk spec recommends for unicode normalization and what the Unicode Parser extension currently does, I assume your plan is to apply glk_buffer_to_lower_case_uni, then glk_buffer_canon_normalize_uni, Andrew? In Unicode Parser, that happens after tokenization. Should it maybe happen before it? WI 5.10 currently says:
...so I'll just note that it'll need revision as part of this. |
That recommendation is for player input. My comment about CPrintOrRun() is about case-titling a string for printing; it's not the same situation.
I hadn't really thought about it. I just dropped it in the same place the old parser did lower-casing. I don't think it makes a difference. The lowercase/normalize operation shouldn't change whitespace to non-whitespace or vice versa.
Is that paragraph changing? I didn't expect to change anything about how I7 parses code. |
The text in WI 5.10 basically documents how the Inform compiler reads source text, which is a different thing. See the last couple of paras of: https://ganelson.github.io/inweb/foundation-module/4-tf.html |
I can't replicate that. Is this because you've defined DICT_WORD_SIZE in your copy of Definitions.i6t? On the main branch it's not defined there. Is the deal that you need to be able to use this value in kit code? |
Yes. I haven't merged your changes from today into my branch yet. I'll try that tonight. |
Sorry, I should have made clearer that my comment was a tangent regarding player input in the context of IE-0019 and not a direct response to your comment.
ah, okay. |
Progress: I've fixed unit parsing, as well as a handful of errors that were turned up by the test suite. All G/Z test cases now pass in my branch. |
Progress: All the C test cases now pass too.
I think I remembered this wrong. The Mac IDE interpreter does have this function, but it crashes if the last argument ( |
Summary
Update the internal processing of the command parser to use word arrays (when compiling to Glulx) instead of byte arrays.