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.  | 
              |||
                  
  | 
              
| 
                  
                   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)/¯ AI may [not] have aided with the above reply.  | 
              |||
                  
  | 
              
| 
                  
                   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  | 
              |||
                  
  | 
              
| 
                  
                   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.  | 
              |||
                  
  | 
              
| 
                  
                   Tomasz Grysztar 16 Jun 2019, 13:48 
                  bitRAKE wrote: Gives me a "?" That is my typical use case.  | 
              |||
                  
  | 
              
| 
                  
                   Tomasz Grysztar 16 Jun 2019, 15:30 
                  Tomasz Grysztar wrote: This may require a more clever fix. bitRAKE: please try it with "il0vt".  | 
              |||
                  
  | 
              
| 
                  
                   bitRAKE 16 Jun 2019, 20:32 
                  Tried to break it, but I couldn't. I'll need more time.  
                  Thank you. _________________ ¯\(°_o)/¯ AI may [not] have aided with the above reply.  | 
              |||
                  
  | 
              
< Last Thread | Next Thread >  | 
    
Forum Rules: 
  | 
    
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.