flat assembler
Message board for the users of flat assembler.
Index
> Compiler Internals > [split-off] Problem with fasmg ik0iv |
Author |
|
Tomasz Grysztar 16 Jun 2019, 12:16
bitRAKE wrote: I'm going to stick with version "ijlx0" for now - that version has some strangeness. Haven't narrowed it down. Something about a scoping change, but when I try fragments of code - they work. It was another instance of my continued efforts to make the changed behavior of these labels work as expected. The original fasmg's design was a clean rule that had no special cases, but it was problematic where it did not follow what fasm 1 would do, so I finally gave in and changed it - but then I had to introduce a couple of exceptional cases like this one to keep this working as expected. Under original system ".:" in STRUC macro was becoming the latest label within its namespace without any special treatment. |
|||
16 Jun 2019, 12:16 |
|
bitRAKE 16 Jun 2019, 12:40
Is this still valid syntax?
Code: struc EXCEPTION_POINTERS label . namespace . PEXCEPTION_RECORD rq 1 ; ExceptionRecord PCONTEXT rq 1 ; ContextRecord end namespace end struc _________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
16 Jun 2019, 12:40 |
|
Tomasz Grysztar 16 Jun 2019, 12:49
There is nothing wrong with this syntax, the questions is what behavior do you expect when this is put in context. Here a simple snippet that demonstrates what changed:
Code: first: second EXCEPTION_POINTERS .test = 1 if defined first.test display 'g.ijlx0' else if defined second.test display 'g.ik0iv+' else display '?' end if |
|||
16 Jun 2019, 12:49 |
|
bitRAKE 16 Jun 2019, 13:17
Code: first: .second EXCEPTION_POINTERS .test = 1 Changing "label ." to ".=$" might be the correct change - seems to have the intended result. Thanks for the help. |
|||
16 Jun 2019, 13:17 |
|
Tomasz Grysztar 16 Jun 2019, 13:48
bitRAKE wrote: Gives me a "?" That is my typical use case. |
|||
16 Jun 2019, 13:48 |
|
Tomasz Grysztar 16 Jun 2019, 15:30
Tomasz Grysztar wrote: This may require a more clever fix. bitRAKE: please try it with "il0vt". |
|||
16 Jun 2019, 15:30 |
|
bitRAKE 16 Jun 2019, 20:32
Tried to break it, but I couldn't. I'll need more time.
Thank you. _________________ ¯\(°_o)/¯ “languages are not safe - uses can be” Bjarne Stroustrup |
|||
16 Jun 2019, 20:32 |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2024, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.