Sajat mini-nyelv es compiler
2010-04-11T15:21:51+02:00
2010-04-14T13:43:47+02:00
2022-07-25T04:24:56+02:00
  • "meg nem latom, hogy lehetne online kornyezetbe bevarazsolni.. "

    CGI? Állítólag lassú lesz prologgal, de ITT vannak emberek akik kivarázsolták már a netre úgy is hogy kb. normálisan működjön. Nemtom megéri-e szórakozni a lehetőséggel, na meg kell ehhez olyan szerver ami támogatja a cgi-t, nem fut minden kis alap helyen, szal. nemtom...
    Mutasd a teljes hozzászólást!
  • Nekem nagyon fontos lenne az online hasznalhatosag. Ezert kell ezekkel "jatszanom":)
    A prolog benne van az 1 eves tervemben minden MI-s kerdesnel felmerul a neve..meg nem latom, hogy lehetne online kornyezetbe bevarazsolni..
    Mutasd a teljes hozzászólást!
  • szeretnek sok dolgot megtanitani neki, hogy komplex kerdesekre tuddjon valaszolni.


    Prolog?
    Mutasd a teljes hozzászólást!
  • A yacc azért már elég kőkorszaki technika. A legújabb áramlat a spirit. Ez tisztán C++.

    Boost Spirit

    Vagy Antlr
    The ANTLR GUI Development Environment
    Mutasd a teljes hozzászólást!
  • Nyugi csak egy buta "szójátékot" játszik senki nickjével :)
    Mutasd a teljes hozzászólást!
  • Csak megkoszontem neki a leirast..mindeki leirasara reagaltam..
    Szoval..egyaltalan nem off-topic.
    Mutasd a teljes hozzászólást!

  • Ki segített? Senki.
    A "Halott ember" jut eszembe erről
    Mutasd a teljes hozzászólást!
  • Koszonom senki. Halas vagyok a leirasodert. Belemelyedek a temaba, mostmar sokkal egyszerubb lesz! A nyelvfejlesztes meg uj nekem, de nagyon erdekel a tema, es szuksegem is van ra. Ergo: koszi ujra!
    Mutasd a teljes hozzászólást!
  • A kis nyelv fejlesztésének a menete kb. a következő:
    -Kitalálod a syntaxot, aztán ha megvan leírod bnf-ben.
    -Megnézed mik a lexikális egységek ebből(ezek kb. ilyenek lesznek, hogy: "azonosító", "if statement", "blokkutasítás"), ilyeneket le lehet írni reguláris kifejezésekkel. Első lépésként elemzéskor ezt alakítod egy köztes formára a szintaktikus elemzőnek.
    -A nyelv maradék, magasabb szintű dolgait újból leírod egy nyelvtannal és megpróbálod tuszkolni, hogy egyértelmű legyen minden dolog ami le van írva, meg úgy alapból LALR1 legyen, ha szerencséd van(vagy okosan tervezel) akkor az is előfordulhat, hogy LL1 nyelvtanú lesz, az meg jó, mert azt egy rekurzív leszállásnak nevezett módszerrel könnyű elemezni, ezt kézzel is könnyű megírni, a többihez inkább valami programgenerátort ajánlott használni.
    -Ha ez megvan(nézz utána a számodra ismeretlen szavaknak ha vannak), akkor kimenetként kapsz egy szintaxisfát. Innentől már annyira nem kiforrott a technológia, mint a szintaktikus elemzésnél és elég bonyolult is tud lenni, de egy tényleg egyszerű nyelvnél ezt már kézzel valahogy összegányolod...

    Nem olyan bonyolult mint aminek elsőre hangzik, ha bele akarsz mélyedni a témába akkor ajánlani lehet Csörnyei Zoltán "Fordítóprogramok" c. könyvét, nem azt mondom hogy olvasd ki, mert ez neked ha jól értem csak mellékesen kell, de ha megnézegeted ami belőle kell jól jöhet...
    Egyébként akkor járnál jól, ha C-ben vagy C++ban kellene mert ott a yacc(vagyis a bison meg a bisonc++, a yacc parancs ezeket hívja...) és flex(ez a lexikális elemzőt csinálja), arról nem tudok, hogy php-hez van-e olyan mint a bison/flex, de pl. java alá is van szóval nem baronság körülnézni! Mondjuk amit javahoz láttam az ha jól tudom csak rekurzív leszállós kódot csinál, ami jár pár (egyszerű kis nyelvnél, nem túl betarthatatlan) megkötéssel...

    ui.: Egyébként ha tisztában vagy vele, hogy az alulról felfele és felülről lefele elemzések kb. mit takarnak, na meg a szintaxisfa építése, akkor lényegében MI-s algoritmusokat is használhatsz(gondolok itt gráfkeresésekre, minimaxra és hasonlókra), mert attól eltekintve hogy van normális "fordprogos" módszer a szintaxisfa-építésre, egy ilyesmi MI-sen megtámogatott visszalépéses kereséssel megvalósított szintaxisépítés is lehet egész jó...

    ui2.: Mennyire akarsz bonyolult nyelvet? Miket kell tudnia?
    Olyanokra gondolok hogy akarsz bele ciklust meg ilyesmiket is, vagy csak szekvenciális adatokat stb...

    ui3.: Én ezt találtam php-hez parsoláshoz, bár kicsit problémás lehet hogy csak béta:
    PHP_ParserGenerator
    ^^Ez Lemon formátumban vár inputot, az kicsit más mint a bison, de ha egyiket se ismered akkor ez nem lehet probléma. Viszont ha jól látom lexikális elemzőt írni kell hozzá(ami csak nem lesz olyan problémás, ha jól tudom a php-ban vannak regexes megoldások ami ahhoz kell)
    antlrphpruntime - A Php Runtime for Antlr - Google Project Hosting
    ^^Ez is valami ilyesmi, fene tudja miket használ...
    Mutasd a teljes hozzászólást!
  • Persze h neztem az eval-t, de nekem inkabb egy sajat mini-nyelv lenne szukseges, hogy az is tuddja hasznalni aki nem PHP-zik.
    Mutasd a teljes hozzászólást!
  • Én PHP párti vagyok Nézted már az eval függvényt?
    Mutasd a teljes hozzászólást!
  • Megnezem a yacc-ot koszonom.
    Mutasd a teljes hozzászólást!
  • Nem kalandjatek..a diplmamunkam..Kolozsvar varosrol szeretnek sok dolgot megtanitani neki, hogy komplex kerdesekre tuddjon valaszolni. De szuksegem lesz egy atmeneti nyelvre "emberi beszed" es php kozott..
    Mutasd a teljes hozzászólást!
  • PHP-t elfelejt, yacc-ot elővesz.
    Mutasd a teljes hozzászólást!
  • Először is ez társalgó téma lesz, mádodszor pedig érdekelne, mi lesz ez valami szöveges párbeszéden alapuló kalandjáték?
    Mutasd a teljes hozzászólást!
  • Udvozlet. Mesterseges intelligenciaval kapcsolatos projekten dolgozok..de igazabol ez nem feltetlenul lenyeges. Egy mini-nyelvet szeretnek irni, amit majd egy php-ben irt compiler ertelmezne. Van otletetek? Ertelmeznem kell a szavakat? Szed kell szednem a kodot, pl pontosvesszok, stb szerint, vagy letezik valami standard es okosabb megoldas, ha mini nyelvet ir az ember?
    Minden tanacs jol jon! szep delutant!
    Mutasd a teljes hozzászólást!
abcd