Generování PHP kódu a la NEON

- Climber007
- Člen | 105
Píšu si vlastní podpůrný jazyk (používaný např. jako vzorce v Excelu – v tabulkách) a potřebuju jej nějak efektivně vyhodnocovat. Chtěl bych se inspirovat zpracováním NEON souborů do nativního PHP kódu a ušetřit tak výkon namísto složité intepretace vlastním PHP interpretem.
Našel by se někdo, kdo mi osobně zodpoví pár otázek, jak funguje
generování tříd z NEONu? Jde mi čistě o výsledný PHP kód, který bude
možná vyhodnotit (třeba pomocí exec()). Parsování není
problém.

- Climber007
- Člen | 105
Díky moc! Vypadá slibně. Nicméně jsem měl mít v bakalářce něco málo svého a tohle mi to hodně ulehčí :-D
Edit: Umí Tokenizer elegantně pracovat s formáty s odsazením? Moje chyba. Samozřejmě, že neumí, to je věcí KA a parseru.
Edit 2: Jak je to s vykonáním následujícího PHP kódu? Jak to třeba řeší Nette? Asi těžko voláním eval(), ne? nemůžu to v tom nějak najít.
Editoval Climber007 (16. 4. 2014 19:27)

- greeny
- Člen | 405
Řeší se to uložením do temp souboru a následně require, viz https://api.nette.org/…tor.php.html#171 . Pokud to potřebuješ mimo objektové rozhraní, postačí:
<?php
class A {
function b() {
call_user_function(function(){
require "file.php";
});
}
}
?>
Editoval greeny (16. 4. 2014 19:43)