TPC16 Compiler Source Code 1.0

ライセンス: 無料トライアル ‎ファイルサイズ: 530.39 KB
‎ユーザー評価: 4.6/5 - ‎5 ‎投票

ターボパスカルで書かれたターボパスカルコンパイラ。これはパスカルで書かれていないので、ターボパスカルの"オリジナル&クォート;ボーランドのソースコードではありません。これはTPC16、ゼロから書かれたターボパスカル互換コンパイラです。これは、Borland ターボパスカル 7.0 コマンドライン コンパイラ TPC と完全にソースコードに互換性があります。Exe。つまり、同じ構文を使用し、x86 用に同じコンパイル単位と 16 ビット コードを生成します。 このソースコードは、Pascal プログラミング言語の美しさを示し、Pascal だけでなく、あらゆる言語のための高速かつコンパクトなコンパイラを構築するために必要なすべてのトリックを明らかにします。このターボパスカル単一パスコンパイラのソースコードを使用すると、シンボルテーブルのアーキテクチャ、ターボパスカルユニット構造の理解、超高速スキャナ、高速キーワード検索のためのハッシュテーブルの例、任意のコンパイラで必要なデータ構造の過多、識別子を扱うためのアルゴリズム、 スコープとユニット、 パーサトークンの一連の分析とパスカル構文のチェック、 コンパイラエラー報告の例、式と計算の理解、任意の式処理とコード生成の例、レジスタの限定されたセットを持つ複雑なコードの生成アルゴリズム、インラインアセンブラコンパイラの例、中間コード構造の例、コードジェネレータの最適化、オブジェクトファイルのインポートの理解、高度な解決アプローチによるリンカーの最適化、ターボパスカルコンパイラの内部の深い理解と、より。 このパッケージの最も重要な特徴は、実績のあるデータ構造と共に、さまざまなアルゴリズムの実用的な実装です。コンパイラの実装が成功するかどうかは、主に使用されるデータ構造とアルゴリズムによって異なります。したがって、TPC16 ソースは、コンパイラの複雑なアルゴリズムを実装する方法のインスピレーションとして使用できます。コンパイラ設計に関する最良の電子書籍。

バージョン履歴

  • バージョン 1.0 に転記 2009-10-22

    EULA - 使用許諾契約書



    ソース コード ライセンス契約

    特に記載のない限り、TPC16パッケージに含まれるすべてのドキュメント、ソースコード、ソフトウェアは、Igor Funaによって著作権が保護されています。本ライセンス契約は、お客様(個人または単一の団体)と、上記で特定されたTPC16ソフトウェア製品に関するIgor Funaとの間の法的合意であり、関連するソフトウェアコンポーネント、ソースコード、メディア、印刷物、オンラインまたは電子文書(ソフトウェア)が含まれる場合があります。本ソフトウェアをインストール、コピー、またはその他の方法で使用することにより、お客様は本契約の条項に拘束されるものとします。本契約の条項に同意しない場合は、本ソフトウェアをインストールまたは使用しないでください。

    定義
    本契約の目的のために、以下の定義が適用されるものとします。

    * "Software" は、イゴール・フナからライセンシーが購入した特定のソフトウェア製品を意味します。
    * "ソースコード" コンピュータプログラミングコードまたはソフトウェアのコンパイルに必要なコンピュータの指示を含めるものとします。
    * "派生作品"とは、ライセンシーによって開発され、ソースコードの一部の修正を組み込むか、修正を含むソフトウェアプログラムを意味し、改訂、変更、翻訳(コンピュータによるコンパイルまたは要約を含む)、短縮、縮合、拡張、またはソースコードが再キャスト、変換または適合する可能性のあるその他の形式を含みます。
    * "Purpose" は、バグ修正、修正、機能強化、改訂、変更、およびソースコードの変更と、ソフトウェアへの新しいユーザーインターフェイス、機能の追加を意味します。

    ライセンシーの権利と制限

    1. 本契約に同意し、以下に掲げている制限および検討の対象となることにより、イゴール・フナはライセンシーに、非独占的で譲渡不可能な永久永久的な、以下の権利を付与します。
    1.1 本契約に基づき付与された権利を行使する目的でのみ合理的に必要なソースコードのコピーを使用し、複製する。
    1.2 目的のためにソースコードの派生作品を変更し、作成する。
    1.3 使用、複製、販売(サブライセンス経由)、配布(サブライセンス経由)、直接またはディストリビューターまたは再販業者を介して転送する、デリバティブワークスは、目的と一致し、本契約の報告および監査規定に従うオブジェクトコード形式でのみ。
    2. ソースコードを表示または使用する第三者の許可、許可、ライセンス供与、またはサブライセンスを許諾する権利は、本契約者に付与されません。
    3. 第1項に規定されている場合を除き、ソースコードの販売、配布、提供、公開、または譲渡を行う権利は、本契約者に付与されません。上記。
    4. ライセンシーは、ソースコードを、その意図した、正当かつ法的な目的以外の目的で使用してはならない。
    5. ライセンシーは、本契約に基づき特に許可されない方法でソースコードを使用しないものとします。
    6. 本契約の条項は、ソースコードに関してイゴール・フナからサポートまたはメンテナンスサービスを受ける権利をライセンシーに与えるものではありません。

    機密性と専有

    ライセンシーは、ソースコードが独自のものであり、価値があり、一般に一般に知られていないことを同意し、認めます。ライセンシーは、合理的な手段によってソースコードの機密性を維持することに同意し、無制限のアクセスを広めたり許可したりしません。ライセンシーは、ライセンシーの組織の従業員およびソフトウェア開発者、または知る必要があるライセンシー組織の代理として働く第三者の請負業者以外の者にソースコードを配布してはならない。ライセンシーは、本契約を遵守しなかった場合に生じた、または奨励された知的財産権の侵害について、法的責任を負う場合があります。

    免責 事項

    本ソフトウェア、ソースコード、イゴール・フナのサポートは、明示または黙示の保証なしに、ISとして提供されます。イゴール・フナは、特定の目的に対する商品性と適合性に関する黙示的な保証を特に否認します。いかなる場合でも、イゴール・フナは、失われた利益、失われた貯蓄、または偶発的または結果的損害、データの障害または失われた、ソフトウェアまたはコンピュータの故障またはその他の原因、またはユーザーによるその他の請求、または第三者の請求を含むがこれらに限定されない損害に対して責任を負いません。

プログラムの詳細