futható pszeudokódját?

szavazat
3

Én azt kívánják meghatározni technika állása a következő gondolat:

1) a felhasználó beír néhány kódot nyelv nevű (insert_name_here);

2) felhasználó kiválaszt egy cél nyelvet a listából jól ismert kiadási jelöltek (javascript, rubin, perl, python);

3) a processzor fordítja insert_name_here be futtatható kódot cél nyelv;

4) a processzor, majd lefuttatja a kódot a megfelelő rendszer hívás alapján választott nyelven

Az ok ez működik, mert van egy előre megállapított 1-1 közötti leképezés valamennyi nyelvi konstrukciók honnan insert_name_here az összes támogatott cél nyelven.

( Disclaimer: Ez nyilvánvalóan nem termel „elegáns” kód, amely jól igazodik a cél nyelvet. Ez egyszerűen nem egy kezdetleges fordítás, amely futtatható. A cél az, hogy a fejlesztők, hogy egy gyors és igénytelen végrehajtása algoritmusok több nyelven azokban az esetekben, ahol nem érzem újra felfedezni a kereket, de szükség van bármilyen okból dolgozni egy adott nyelv egy adott projektben.)

Vajon ez már létezik?

A kérdést 03/12/2008 22:52
a forrás felhasználó
Más nyelveken...                            


5 válasz

szavazat
4

A .NET CLR úgy van kialakítva, hogy a C ++. Net, C # .NET és VB.Net minden összeállítani, hogy ugyanazon a gépen nyelvet, és akkor „visszafordítani”, hogy a CLI vissza bármelyike ​​nyelveken.

Szóval igen, azt mondanám, hogy már létezik, de nem pontosan úgy, ahogy leírják.

Válaszolt 03/12/2008 22:57
a forrás felhasználó

szavazat
2

Vannak átalakítók áll rendelkezésre a különböző nyelveken. A probléma akkor megy, hogy foglalkozik a könyvtárak. Míg közötti leképezés nyelvi állítások könnyű lehet, a megállapítás leképezések között könyvtári funkciókat nagyon nehéz lesz.

Nem vagyok benne biztos, hogy hasznos ez a fajta kód generátor lenne. Miért akarsz írni valamit egy nyelven, majd azonnal átalakítani, hogy valami mást? Látom a logikai 4. gen nyelvek átalakítani, ábrák és modellek a kódot, de én nem igazán látom értelmét a erőfeszítés.

Válaszolt 03/12/2008 23:05
a forrás felhasználó

szavazat
2

Úgy tűnik, ez egy kicsit bizarr. Ha használja a „technika állása”, a leggyakoribb formája, akkor beszélünk egy potenciálisan szabadalmaztatható ötlet. Ha ez a helyzet, akkor:

1 / Megjelent a gondolat, kezdve az óra fut szabadalmi bejelentés - Felteszem, talán tévesen, hogy te székhelye az Egyesült Államokban más joghatóságok esetleg más szabályok vonatkoznak.

2 / Mondta az egész bolygó a gondolat, ami azt jelenti, hogy nagyjából használhatatlan, hogy megpróbálja szabadalom, hacsak nem jár nagyon gyors.

Ha nem gondolkodik szabadalmaztatta ezt, és éppen használt a „technika állása” egy laikus értelemben, elnézést kérek. Dolgozom egy cég veszi szabadalmak nagyon komolyan, és ez fúrnak nekünk, nagy részletességgel, amit mi szabad csinálni információkat benyújtását megelőzően.

Azt mondta, hogy szabadalmaztatható ötleteket kell lennie az új, hasznos és nem nyilvánvaló. Azt gondolom, hogy az ötlet nem halad a harmadik ilyen, mivel te leíró nyelv fordító, amely rendelkezik a technika állása a sok pascal-to-C és Fortran-to-c konverterek odakinn.

Az egyik reménysugarat lenne a képessége a gondolat, hogy létrehoz egy több kimenetű nyelv (amely P2C és f2c nem csinál), de azt hiszem, még ez fedezi a szeret át összeállítói (például gcc), amely viszont forrás az egyik a sok különböző tárgyat nyelven.

Az IBM a termék neve Visual Age generátor, amelyben kódot egy (tulajdonosi) nyelv, és ez átalakítható COBOL / C / Java / egyéb futtatni a különböző célrendszert a PC-k a nagy honkin' System z mainframe, ezért van az első probléma (gondolkodás szabadalmaztatta egy ötlet, hogy az IBM, a legnagyobb patenter a világon, már használja).

Válaszolt 04/12/2008 00:07
a forrás felhasználó

szavazat
2

Tonna őket. P2C, f2c, és az eredeti végrehajtása s C ++ és Objective C sztrájk nekem azonnal. Azon túl, hogy ez a fajta nehéz megkülönböztetni, amit leírja minden fordító, különösen számunkra régi srácok, akiknek a fordítóprogramok generált ASM kódot közbenső represetation egyébként.

Válaszolt 04/12/2008 00:54
a forrás felhasználó

szavazat
3

Igen, olyan program, amely átalakítja a programot az egyik ábrázolás másik nem létezik. Úgy hívják „fordítóprogram”.

És mivel a kérdést, hogy ez mindig lehetséges: mindaddig, amíg a célnyelv legalább olyan erős, mint a forrás nyelvet, akkor lehetőség van. Tehát, ha a célnyelv Turing-teljes, akkor mindig lehetséges, mert nem lehet a nyelven, ami erősebb, mint a Turing-teljes nyelvet.

Azonban nem kell, hogy egy buta 1: 1 leképezés.

Például: a Microsoft Volta fordító, amely lefordítja CIL bytecode JavaScript forráskód van egy probléma: NET szálak, JavaScript nem. De lehet végrehajtani menetek folytatásai. Nos, a JavaScript nem folytatásai sem, de akkor végre folytatásai kivételekkel. Tehát, Volta átalakítja a CIL a CPS majd végrehajtja CPS kivételek. (Újabb verziói JavaScript van félig korutinokat formájában generátorok ezeket is lehet használni, de Volta célja, hogy a munka széles körű JavaScript verziók, beleértve természetesen JScript az Internet Explorer).

Válaszolt 04/12/2008 09:22
a forrás felhasználó

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more