flat assembler
Message board for the users of flat assembler.
![]() |
Author |
|
Smile
Hi
Used compiler fasm-1.64 Code: macro Parse string { match char tail, string \{ Parse tail ; extra characters on line 'parse+1' \} } Parse 1+1 What is wrong? |
|||
![]() |
|
LocoDelAssembly
In FASM 1.66 I get illegal instruction 'Parse+1' and it's OK because there is no previous macro definition named "Parse"
|
|||
![]() |
|
Smile
so i can not use recursion at all?
|
|||
![]() |
|
dead_body
Code: macro Parse string { match char tail, string \{ ;here you must include macro Parse(it must be in another file) Parse tail ; extra characters on line 'parse+1' ;here purge it \} } Parse 1+1 read about this in documentation. it is one of the way to do recursion. |
|||
![]() |
|
Tomasz Grysztar
See the PARSECOND macro in the MACRO/IF.INC in fasmw package. It does some parsing without recursion, it uses IRPS instead.
As for sample recursion, you can find some in the JNCONDEL and other similar macros in the same file. |
|||
![]() |
|
vid
Code: macro Define_Parse { macro Parse \{ Define_Parse Parse \} } Define_Parse this is the idea Last edited by vid on 09 May 2006, 12:31; edited 1 time in total |
|||
![]() |
|
Tomasz Grysztar
vid: well said.
![]() |
|||
![]() |
|
vid
thanks, anyway it's stolen from your nested call macros
![]() |
|||
![]() |
|
< Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2020, Tomasz Grysztar. Also on GitHub, YouTube, Twitter.
Website powered by rwasa.