inform - Inform7プログラミング言語のコアソフトウェアディストリビューション。

(The core software distribution for the Inform 7 programming language.)

Created at: 2019-02-05 08:18:15
Language: C

通知7

v10.1.0-beta + 6U94'クリプトン'(2022年4月30日)

Inform7について

Inform 7(2006年4月-)は、自然言語構文を使用してインタラクティブフィクションを作成するためのプログラミング言語です。Informは、自然言語を使用し、言語学や文芸的プログラミングからのアイデアを利用して、文学の執筆の媒体として、ゲーム業界のプロトタイピングツールとして、また学校や大学レベル(Informが割り当てられることが多い)の教育で広く使用されています。デジタルナラティブに関するコースの資料)。TIOBEインデックスによると、最も影響力のあるプログラミング言語のトップ100に数回ランク付けされています。

Informはそれ自体が文芸的プログラムであり、世界最大級のプログラムです。これは、人間が読める形式でのコードの完全な表示が、コード自体と一緒に継続的に維持されることを意味します。したがって、これを技術文書やその他の有用なリソースとともに読むには、このリポジトリの関連Webページにアクセスしてください。★通知:プログラム

Informを文芸的プログラムとして作成および提示することは、既存のLPソフトウェアの機能を超えていたため、Inwebと呼ばれるLPの新しいシステムがInformからスピンオフされ、独自のリポジトリがあります。

ライセンスと著作権

特に明記されていない限り、このリポジトリ(「パッケージ」)の素材の著作権はGraham Nelson(「作成者」)が保有します。GrahamNelsonは、単一の参照ポイントが存在するように著作権を保持します。このリポジトリが公開された最初の日である2022年4月28日から、パッケージは ArtisticLicense2.0の下に置かれます。これは非常に寛容なライセンスであり、他の注目すべきプロジェクトの中でもPerlによって使用されており、Open Source Initiativeによってオープンとして認識され、FreeSoftwareFoundationによって両方の意味で無料として認識されています。

誤解を避けるために、作者は、パッケージのユーザーがパッケージによって作成されたストーリーファイルを無制限に使用できることをさらに許可します。このようなストーリーファイルはInformの派生物ではなく、ArtisticLicense2.0を義務として継承しません。(この追加の助成金は、実質的なコードを出力にコピーするbisonのようなプロジェクトの慣行に従います。)

プルリクエストが行われる条件(つまり、このソフトウェアに提案された修正を行う)は、リクエストが受け入れられた場合、それによって行われた貢献の著作権がプロジェクトの著作権所有者であるGrahamNelsonに直ちに譲渡されることです。これは、明確な所有権が存在できるようにするためです。ここで他のリポジトリ(dumb-frotzなど)から複製されたプログラムやInformGUIアプリには適用されません。これらには独自の著作権とライセンスがあります。

リポジトリ

これは「コアリポジトリ」であり、コンパイラと、コマンドラインで実行するために必要なすべてのソースコードを保持しています。でも:

ビルド手順

作業するディレクトリを作成します。これを「作業」と呼びましょう。それで:

  • 現在のディレクトリを「work」に変更します:「cdwork」
  • Inwebを「work/inweb」としてビルドする:ここでそのリポジトリを参照してください
  • Intestを「work/intest」としてビルドする:ここでそのリポジトリを参照してください
  • Informを"work/ inform"としてクローンします: "git clone https://github.com/ganelson/inform.git "
  • 現在のディレクトリを次のように変更します:「cdinform」
  • ファーストビルドスクリプト「bashscripts/first.sh」を実行します
  • 実行可能ファイルがコンパイルされていることを確認します: "inblorb / Tangled / inblorb-help"
  • 単一のテストケースを実行します:「../ intest / Tangled /intestinform7-showAcidity」。

それが通過した場合、おそらくすべてが順調です。決定的なテストは「makecheck」です。これは実行可能ファイルで約2500ケースを実行しますが、8コアデスクトップでは10分、4コアラップトップでは30分かかります(ヘリコプターが離陸するように聞こえます)。

現在のステータス:すべてのテストは、Linux、MacOS、およびWindowsで合格する必要があります。

問題の報告

Mantisを搭載した古いInformバグトラッカーは終了し、その問題とコメントはJiraを搭載 し、AtlassianWebサイトでホストされている新しいバグトラッカーに移行されました。

バグトラッカーのキュレーターはBrianRushtonで、管理者はHugoLabrandeです。

InwebとIntestには独自のバグトラッカーがあることに注意してください(ここここ)。それらのバグをInf​​ormトラッカーに報告しないでください。その逆も同様です。

プルリクエストと機能の追加

Informは、オープンソースであるという観点から始まったばかりですが、新しいソフトウェアではありません。成熟したよく使用される機能セットがあるため、新しい機能や変更された機能については慎重に検討する必要があります。今のところ、その将来の方向性は元の作者の手に委ねられています。ある時点で、より正式なプロセスが出現する可能性がありますが、今のところ、可能な機能についてのコミュニティディスカッションはIFフォーラムで行うのが最善です。特に、バグトラッカーを使用して新機能を提案しないでください。

したがって、機能を追加したり、重要な変更を加えたりするプルリクエストは、明確なバグ修正やタイプミス、リンク切れなどの修正でない限り、事前の同意なしにInformチームの非メンバーから受け入れられる可能性はありません。上記の著作権に関する注記も参照してください。

Informライセンスは非常に寛容であり、まったく異なる方法で開発されるフォークは完全にルールの範囲内にあります。(ただし、Artistic Licenseのいくつかの要件の1つは、混乱を避けるために、そのようなフォークに単に「Inform7」ではない名前を付けることです。)

在庫

「宇宙が始まる前に誰かが私に尋ねたとしたら、古い好奇心の店のようなものではなく、正式なフランス式庭園のようなものを推測するべきだったと感じずにはいられません。まっすぐな道、円形の散歩道、幾何学的な形をした木々や生け垣。」(マイケル・フレイン)

Informは単一のプログラムではなく、プログラムとリソースの集合体です。inform7コンパイラ自体を含むいくつかは、「Web」とも呼ばれる「リテラシープログラム」です。表記★はこれらをマークし、人間が読める形式へのリンクが提供されます。

コマンドラインツールのソース

このリポジトリのこの最も重要なコンテンツは、次のコマンドラインツールのソースWebです。

  • inbuild-バージョン10.1.0- Web-▶▶ ドキュメント
    Informツール用のシンプルなビルドおよびパッケージマネージャー。
  • inform7-バージョン10.1.0- Web-▶▶ ドキュメンテーション
    インタラクティブフィクションのための自然言語デザインシステムのコアコンパイラ。
  • inter-バージョン10.1.0- Web-▶▶ ドキュメント
    中間のInformコードを処理するため。
  • inblorb-バージョン4- Web-▶▶ ドキュメント
    Inform7システムのパッケージ化段階。ストーリーファイルをブロブ形式でリリースします。
  • indoc-バージョン4- Web-▶▶ ドキュメンテーション
    Inform7システムのドキュメンテーションフォーマッター。
  • inpolicy-バージョン1- Web-▶▶ ドキュメント
    Informソースコードで使用されるさまざまなポリシーをチェックするためのlintのようなツール。
  • inrtps-バージョン2- Web-▶▶ ドキュメント
    Informで実行時の問題メッセージを表示するHTMLページのジェネレータ。

Informに同梱されているキット

次のWebは、Informに同梱されているInterコードのキットのソースです(サブツリーinform7 / Internal / Interにあります)。キットは、実行時に必要なコードのライブラリであり、そのソースはInform6表記で記述されています。

  • BasicInformKit-プログラミング言語としてのInformのサポート- ★Web
  • WorldModelKit-インタラクティブフィクションでの空間、時間、アクションのモデリングのサポート- ★Web
  • EnglishLanguageKit-使用される自然言語としての英語のサポート- ★Web
  • CommandParserKit-インタラクティブフィクションでのターンバイターンコマンドの解析のサポート- ★Web
  • BasicInformExtrasKit-標準ルールが使用されていない場合にのみ必要な追加サポート- ★Web

Informに同梱されている拡張機能

次のWebは、Informに付属する2つの最も重要な拡張機能のソースです。

Informに同梱されているその他の拡張機能は、Webとしてではなく、単一のファイルとして表示されます。

Website templates and interpreters shipped with Inform

These are templates used by Inform to release story files within a website:

  • Classic - An older, plainer website
  • Standard - The default, more modern look

These are Javascript interpreters used to release such websites in a form which can play the story files interactively online:

Documentation shipped with Inform

Two books come with the Inform apps. The source code for these books is in indoc format: the indoc tool makes those into ePubs, mini-websites, or the pseudo-websites inside the apps.

  • Changes to Inform - A detailed change history of Inform 7. Ebook in Indoc format, stored at path resources/Changes.
  • Writing with Inform and the Inform Recipe Book - The main Inform documentation, as seen in the apps, and in standalone Epubs. Ebook in Indoc format, stored at path resources/Documentation.

In addition, there are:

  • resources/Outcome Pages - Inrtps uses these to generate HTML outcome pages (such as those showing Problem messages in the app)
  • resources/Sample Projects - Two small interactive fictions, 'Disenchantment Bay' and 'Onyx', presented as samples in the app

Retrospective builds of Inform

2022年の新機能は、プロジェクトのコンパイル時に、アプリがコアInformソフトウェアの現在のバージョンではなく過去のバージョンを使用できるようにすることです。つまり、コアソフトウェアディストリビューションには、これらの過去のバージョンの何らかの形式が含まれている必要があります。少なくとも、バージョン9.1、9.2、および9.3の拡張機能とコンパイラツールです。

その資料は「回顧展」ディレクトリに保管されています。過去のバージョンのドキュメント(たとえば、「Writing withInform」の過去のバージョン)は含まれていないことに注意してください。

他の場所からここにコピーされたリソース

以下の安定したバージョンは定期的にこのリポジトリにコピーされますが、これはそれらの開発が行われる場所ではなく、プルリクエストは受け入れられません。(これらはgitサブモジュールではないことに注意してください。)

  • inform6-Inform 6コンパイラ(I7がコードジェネレータとして使用)。-1636- [ https://github.com/DavidKinder/Inform6 ]から、DavidKinderによって管理されてます

  • inblorb / Tests / Assistants / blorblib-テストでinblorbの出力を検証するためにここで使用される、blorbscanを含むblorbファイルを調べるためのコード。-バージョン1.0.2-AndrewPlotkinによるものですが、現在Githubの他の場所にはありません

バイナリリソース(画像ファイルなど)

  • resources / Imagery /app_images-MacOS形式のInformアプリとそれに関連する多くのファイルのアイコン
  • resources / Imagery/bg_images-Informによって生成されたインデックスで使用される背景テクスチャ
  • resources / Imagery/doc_images-ドキュメントに必要なその他の画像
  • resources / Imagery/map_icons-Informによって生成されたインデックスのワールドペインに必要な画像
  • resources / Imagery/outcome_images-結果ページで使用される画像
  • resources / Imagery/scene_icons-Informによって生成されたインデックスのシーンペインに必要な画像
  • resources / Internal / Miscellany-デフォルトのカバーアート、IFおよびポストカードPDFの概要

このリポジトリ内の他のファイルとフォルダ

  • docs-GitHubPagesで提供するためのウェブの織りフォーム
  • scripts / inform.giscript-Inwebはこれを使用して、リポジトリのルートに.gitignoreファイルを生成します
  • scripts / inform.mkscript-Inwebはこれを使用して、リポジトリのルートにmakefileを生成します
  • scripts / inform.rmscript-Inwebはこれを使用して、現在読んでいるREADME.mdファイルを生成します

奥付

このREADME.mkファイルはInwebによって自動的に生成されたものであり、編集しないでください。変更するには、inform.rmscriptを編集して再生成します。