TPC16 Compiler Source Code 1.0

Licenza: Prova gratuita ‎Dimensioni del file: 530.39 KB
‎Valutazione utenti: 4.6/5 - ‎5 ‎Voti

Compilatore Turbo Pascal scritto in Turbo Pascal. Questo non è il codice sorgente "originale" Borland del Turbo Pascal poiché non è stato scritto in Pascal. Questo è TPC16, un compilatore compatibile con Turbo Pascal scritto da zero. È completamente compatibile con il compilatore della riga di comando Borland Turbo Pascal 7.0 TPC. EXE. Ciò significa che utilizza la stessa sintassi e genera ESATTAMENTE LE STESSE unità compilate e codice a 16 bit per x86. Questo codice sorgente mostra tutta la bellezza del linguaggio di programmazione Pascal e rivela tutti i trucchi necessari per costruire un compilatore veloce e compatto per qualsiasi linguaggio, non solo Pascal. Con questo codice sorgente del compilatore Turbo Pascal single pass otterrai: architettura delle tabelle dei simboli, comprensione della struttura dell'unità Turbo Pascal, scanner ultra veloce, esempi di tabelle hash per la ricerca rapida di parole chiave, pletora di strutture di dati necessarie in qualsiasi compilatore, algoritmi per gestire gli identificatori, ambito e unità, Parser per analizzare una sequenza di token e per controllare la sintassi Pascal, Esempio di segnalazione degli errori del compilatore, Comprensione di espressioni e calcoli, Esempi di elaborazione arbitraria delle espressioni e generazione di codice, Algoritmi per la generazione di codice complesso con un set limitato di registri, Esempio di compilatore assemblatore in linea, Esempio di struttura di codice intermedio, Ottimizzazione del generatore di codice, Comprensione dell'importazione di file oggetto, Ottimizzazione del linker con un eccellente approccio per risolvere i riferimenti, Un compilatore funzionante compatibile con Borland Turbo Pascal 7 , Profonda comprensione degli interni del compilatore Turbo Pascal e altro ancora. La caratteristica più importante di questo pacchetto è l'implementazione pratica di vari algoritmi insieme a strutture di dati comprovate. Un'implementazione del compilatore di successo dipende principalmente dalle strutture di dati e dagli algoritmi utilizzati. Pertanto, l'origine TPC16 può essere utilizzata come ispirazione su come implementare algoritmi complessi per il compilatore. Il miglior e-book sulla progettazione del compilatore.

cronologia delle versioni

  • Versione 1.0 pubblicato il 2009-10-22

    Contratto di licenza con l'utente finale



    Contratto di licenza per il codice sorgente

    Salvo diversa indicazione, tutta la documentazione, il codice sorgente e il software inclusi nel pacchetto TPC16 sono protetti da copyright da Igor Funa. Il presente Contratto di Licenza è un accordo legale tra l'utente (un individuo o una singola entità) e Igor Funa per il prodotto software TPC16 sopra identificato, che può includere componenti software associati, codice sorgente, supporti, materiali stampati e documentazione online o elettronica (Software). Installando, copiando o utilizzando in altro modo il Software, l'utente accetta di essere vincolato dai termini del presente Contratto. Se l'utente non accetta i termini del presente Contratto, non installare o utilizzare il Software.

    Definizioni
    Ai fini del presente accordo si applicano le seguenti definizioni:

    * "Software": il particolare prodotto Software acquistato dal Licenziatario da Igor Funa.
    * "Codice sorgente" include il codice di programmazione informatica o qualsiasi istruzione informatica necessaria per compilare il Software.
    * "Opere derivate": tutti i programmi software sviluppati dal Licenziatario che incorporano o contengono modifiche di qualsiasi parte del Codice Sorgente e che includono qualsiasi revisione, modifica, traduzione (inclusa la compilazione o la ricapitolazione da parte del computer), abridgment, condensa, espansione o qualsiasi altra forma in cui il codice sorgente può essere riformulato, trasformato o adattato.
    * "Scopo": la creazione di correzioni di bug, correzioni, miglioramenti, revisioni, modifiche e adattamenti del codice sorgente e l'aggiunta di nuove interfacce utente, funzionalità e funzionalità al Software.

    DIRITTI E RESTRIZIONI DEL LICENZIATARIO

    1. Accettando il presente Contratto e fatte salve le restrizioni e i corrispettivi indicati di seguito, Igor Funa concede al Licenziatario un diritto non esclusivo, non trasferibile, perpetuo, mondiale di:
    1.1 utilizzare e riprodurre tutte le copie del codice sorgente ragionevolmente necessarie solo ai fini dell'esercizio dei diritti concessi ai sensi del presente accordo;
    1.2 modificare e creare opere derivate del codice sorgente allo scopo;
    1.3 utilizzare, riprodurre, riprodurre, riprodurre, vendere (tramite sublicenza), distribuire (tramite sublicenza), eseguire o altrimenti trasferire (tramite sublicenza), direttamente o tramite distributori o rivenditori, Derivative Works, solo in formato codice oggetto, che siano coerenti con lo Scopo e soggetti alle disposizioni di reporting e audit del Contratto.
    2. Al Licenziatario non è concesso alcun diritto di consentire, autorizzare, concedere in licenza o concedere in sublicenza a terzi di visualizzare o utilizzare il Codice Sorgente.
    3. Al Licenziatario non è concesso alcun diritto di vendere, distribuire, rendere disponibile, pubblicare o trasferire in altro modo il Codice Sorgente se non come previsto nella sezione 1. Sopra.
    4. Il Licenziatario non utilizzerà il Codice Sorgente per altro che per scopi diversi da quelli previsti, legittimi, scopo legale.
    5. Il Licenziatario non utilizzerà il Codice Sorgente in alcun modo non specificamente consentito dal presente Contratto.
    6. I termini del presente Contratto non danno diritto al Licenziatario di ricevere alcun servizio di supporto o manutenzione da Igor Funa in relazione al Codice Sorgente.

    RISERVATEZZA E PROPRIETÀ

    Il Licenziatario accetta e riconosce che il Codice Sorgente è proprietario, prezioso e non generalmente noto al pubblico. Il Licenziatario accetta che manterrà, con mezzi ragionevoli, la riservatezza del Codice Sorgente e non diffonderà o consentirà un accesso illimitato. Il Licenziatario non distribuirà il Codice Sorgente a persone diverse dai dipendenti e dagli sviluppatori di software dell'organizzazione del Licenziatario o da appaltatori di terze parti che lavorano per conto dell'organizzazione licenziataria con necessità di sapere. Il Licenziatario può essere ritenuto legalmente responsabile per qualsiasi violazione dei diritti di proprietà intellettuale causata o incoraggiata dal mancato rispetto del presente Contratto da parte dei Licenziatari.

    Disclaimer

    Il presente Software, il Codice Sorgente e qualsiasi supporto di Igor Funa sono forniti come IS e senza garanzia, espliciti o impliciti. Igor Funa declina specificamente qualsiasi garanzia implicita di commerciabilità e idoneità per uno scopo particolare. In nessun caso Igor Funa sarà responsabile per eventuali danni, inclusi, a titolo dannoso ma non limitato, perdite di risparmio o danni incidentali o consequenziali, derivanti da dati compromessi o persi, guasti software o computer o qualsiasi altra causa, o per qualsiasi altra rivendicazione da parte dell'utente o per qualsiasi reclamo di terze parti.

Dettagli del programma