Szerző Téma: Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére  (Megtekintve 1979 alkalommal)

+8 Show voters
Shirak rekurzív define-jei megihlettek, és írtam egy kis snippetet az õ kódja alapján, amellyel be lehet mutatni a PAWN fordítónak, ha már meguntuk, hogy mindig a szintaktikus elemzés szerencsétlenebb oldalán állunk.
#include <a_samp>
#define main a
#define a main
main() { }

 
[/quote]
Köszönöm!
krisk talált egy hasznot a snippetemnek, ezért kérném a moderátorokat, hogy ezt még ne zárják le, mert hasznos lehet néhány embernek!
« Utoljára szerkesztve: 2014. június 27. - 14:28:46 írta Shirak »

0 Show voters
Én ezt nem értem. Lehet én vagyok hülye de kérem ezt valaki magyarázza el. EZ EZ EGY PARADOXON
« Utoljára szerkesztve: 2014. június 26. - 20:05:41 írta Peter »

Nem elérhető EnterR

  • Globális moderátor
  • 4223
  • dawg
    • Profil megtekintése
0 Show voters
Idézetet írta: Peter date=1403805798\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49049\" data-ipsquote-contentclass=\"forums_Topic
Én ezt nem értem. Lehet én vagyok hülye de kérem ezt valaki magyarázza el.
 
Backtracking jellegû algoritmusokban szokás használni.
Faktorális számító függvény: (C implementáció)
 
int faktorialis(int n)
{
    int eredmeny = 1;
    int i = 2;
    while(i <= n){
        eredmeny = eredmeny * i;
        i = i + 1;
    }
    return eredmeny;
}

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
0 Show voters
Nem az a durva, hogy 2 soros scripteket publikálnak, hanem az, hogy van köztük olyan, amit nem ismerek.

0 Show voters
Idézetet írta: KovaNovik date=1403807833\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49049\" data-ipsquote-contentclass=\"forums_Topic
Nem az a durva, hogy 2 soros scripteket publikálnak, hanem az, hogy van köztük olyan, amit nem ismerek.
 
Van egy érzésem, hogy te már ilyesmin töröd a fejedet, hogy
 
#include <a_samp> #define main a #define a main main() { }

 
((És igen tisztában vagyok vele, hogy ez a sor TELJES MÉRTÉKBE rosz. De KovaNovik érti mire célzok :)
Amúgy gyakorlati példát mondjon már nekem erre valaki. EnterR kívül mert az övét nem értem
« Utoljára szerkesztve: 2014. június 26. - 20:44:00 írta Peter »

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
0 Show voters
Ez már megesett, de elkeserítõ volt, hogy minden #-el kezdõdõ (fordító által értelmezett) sort külön kell írni.
Egy másodperc késéssel írtam! Mindegy. Amúgy ha jól értelmezem ez egy infinite loopot jelent röviden.
Pl. csinálsz egy függvényt, aminél önmaga befolyásolja a visszatérési értékét.
« Utoljára szerkesztve: 2014. június 26. - 20:51:21 írta KovaNovik »

Nem elérhető krisk

  • 2380
    • Profil megtekintése
0 Show voters
Mutatok egy példát:
 

stock LetTheFloodBegin()
{
   printf(\"SZERELES?\");
   LetTheFloodBegin();
}

 
Ez ugyanaz, mint a
 

stock LetTheFloodBegin()
{
   while(true)
   {
        printf(\"SZERELES?\");
   }
}

,
azzal a különbséggel, hogy az elsõ függvény kb. fél perc alatt okoz egy heap/stack collisiont, mert ha a függvény saját magát hívja meg, a függvény meghívásához szükséges memóriát nem törli a stackbõl addig, amíg az vissza nem tér valamivel.
Minden rekurzió átírható ciklussá, és fordítva.

0 Show voters
Ahaaaaaaaaaa. Értem. Na ezt lehet felhasználom  :thumbsup:

0 Show voters
Szép munka, felhasználom a hétvégi gombalevesbe. Megy a plusz.
Szerk.: ...menne a plusz, de baszik megadni.

Nem elérhető krisk

  • 2380
    • Profil megtekintése
0 Show voters
Shirak újabb hasznos scripthez kérte segítségemet, amit holnap publikálni is fog. Remélem hasznát fogjátok venni.

Nem elérhető EnterR

  • Globális moderátor
  • 4223
  • dawg
    • Profil megtekintése
Rekurzív preprocesszor-direktívák elõfordítói végtelen ciklus elõidézésére
« Válasz #10 Dátum: 2014. június 26. - 22:31:26 »
0 Show voters
Idézetet írta: krisk date=1403814238\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"49049\" data-ipsquote-contentclass=\"forums_Topic
Shirak újabb hasznos scripthez kérte segítségemet, amit holnap publikálni is fog. Remélem hasznát fogjátok venni.
 
Alig várom!

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal