Domanda

Sono interessato a creare una lingua per l'esecuzione su AVM2 e sto cercando consigli su dove iniziare. Mi rendo conto che questo non è affatto un compito banale, ma vorrei provarlo e almeno imparare di più sull'implementazione di una lingua lungo il cammino.

Ho fatto un casino con ANTLR e ho letto i problemi di sintassi per lo sviluppo del linguaggio. Quello che sto cercando è un consiglio su un percorso da prendere o utili riferimenti / libri.

Ad esempio, vorrei generare (script / manualmente) un bytecode AVM2 molto semplice e farlo funzionare sulla VM come inizio.

Grazie

È stato utile?

Soluzione

Se non sei interessato a Haxe, dovrai fondamentalmente scrivere il tuo compilatore che compili gli oggetti in ABC (codice byte di Actionscript). Il documento AVM2 Overview disponibile da Adobe su ABC e AVM2 che dovrebbe ti aiuta a iniziare. È un documento abbastanza approfondito, ma stai attento a qualche errore di battitura nelle istruzioni del bytecode.

Dovrai anche racchiudere il bytecode in un tag doABC come parte di un contenitore SWF. Puoi ottenere ulteriori informazioni dalla Formato file SWF .

Se desideri iniziare a scrivere le strutture dei dati (formati int ottimizzati, ecc.), sentiti libero di controllare il codice su asmock, un progetto di derisione dinamico su cui sto lavorando. Il materiale di generazione SWF / ByteCode è un po 'disordinato ma ci sono wrapper IDataOutput ( SWF , ByteCode ) che potrebbe tornare utile.

Altri suggerimenti

Project Alchemy di Adobe può essere un buon riferimento http://labs.adobe.com/technologies/alchemy/

Come è andata? Sono anche interessato a fare un compilatore da Java ad AVM2 ... Hai qualche codice pubblicato?

Dai un'occhiata a Haxe : è un linguaggio open source in grado di indirizzare piattaforme diverse, incluso AVM. Puoi scavare nel codice sorgente del compilatore SWF per trarre ispirazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top