[Ajuda] Mъltiplos Macros
#6

Bom vamos lб xD.
Primeiramente vocк precisa entender como pawn reconhece e substitui os macros, o compilador ira detectar quaisquer ocorrкncias de acordo com a seguintes condiзхes:
  • Nгo estar entre aspas
  • Nгo estar entre A-Z a-z @ _
  • Nгo estar antes de um numero
Agora vou dar um pequeno exemplo
Quote:
  • Definiзгo
    PHP код:
    #define teste hello world! 
  • Serгo substituнdos por "hello world!"(Apenas a palavra teste)
    PHP код:
    teste
    teste
    :
    teste-
    teste+
    teste$
    teste!
    teste"
    1teste
    testeІ 
  • Nгo irб substituir
    PHP код:
    _teste
    teste_
    @teste
    "teste"
    teste1 
Tendo isto em mente, vou explicar a detecзгo linha por linha, jб que no que irб substituir й irrelevante neste caso que й um exemplo apenas.

Quote:
  • #define MACRO1 m@1:m@2:m@3:@MACRO1
    Irб *dividir MACRO1 nos seguintes **sub-macros: m@1:, m@2: e m@3:
  • #define m@3:@MACRO1$%0$ (%0 + %0)
    Irб agora definir o que o **sub-macro m@3: farб, ele irб detectar uma expressгo como MACRO1$teste$
  • #define m@2:m@3:@MACRO1<%0> %0
    Irб agora definir o que o **sub-macro m@2: farб, ele irб detectar uma expressгo como MACRO1<teste>, jб que nгo foi detectado nenhum **sub-macro m@3 nesta expressгo.
  • #define m@1:m@2:m@3:@MACRO1<%0>[%1] %0[%1]
    Irб agora definir o que o **sub-macro m@1: farб, ele irб detectar uma expressгo como MACRO1<teste>[teste], jб que nгo foi detectado nenhum dos **sub-macros m@2 ou m@3 nesta expressгo.
  • * Optei pelo termo dividir, mas na verdade ele apenas define novos macros m@1:, m@2: e m@3: nгo tem nenhum vinculo com MACRO1 para o compilador.
  • ** Optei por este termo apenas para facilitar a explicaзгo, m@1:, m@2: e m@3: sгo macros totalmente independentes
Aqui deixo dois exemplos de macros postados por mim, para vocк tentar decifrar xD
https://gist.github.com/Dayvison/d89...br-inc-L26-L44
http://forum.sa-mp.com/showpost.php?...postcount=3238

@Off
PHP код:
#define u@$ 0]); 
#define __:%0$ u@(u[_:%0 u@$ 
Tinha visto este cуdigo algum tempo atrбs, cara... isto.. й lindo...
Reply


Messages In This Thread
Mъltiplos Macros - by Injury - 15.12.2017, 16:09
Re: Mъltiplos Macros - by Marllun - 15.12.2017, 18:14
Re: Mъltiplos Macros - by Injury - 15.12.2017, 18:27
Re: Mъltiplos Macros - by Marllun - 15.12.2017, 18:36
Re: Mъltiplos Macros - by Injury - 15.12.2017, 18:42
Re: Mъltiplos Macros - by Dayvison_ - 15.12.2017, 19:38
Re: Mъltiplos Macros - by renatog - 15.12.2017, 19:57
Re: Mъltiplos Macros - by Injury - 15.12.2017, 20:00
Re: Mъltiplos Macros - by Dayvison_ - 15.12.2017, 22:45
Re: Mъltiplos Macros - by Injury - 16.12.2017, 10:48

Forum Jump:


Users browsing this thread: 3 Guest(s)