@titlepage
@title YACASL2
-@subtitle UNIX/Linuxのコマンドラインインターフェイスで動作するCASL II処理システム
+@subtitle UNIX系OSのコマンドラインで動作するオープンソースのCASL II処理システム
@author j8takagi
@insertcopying
@end titlepage
@cartouche
@end iftex
@quotation
-@uref{http://www.jitec.ipa.go.jp/1_00topic/topic_20081027_hani_yougo.pdf, 試験で使用する情報処理用語・プログラム言語など(2008年10月版)}[PDFファイル]
+@uref{http://www.jitec.jp/1_13download/shiken_yougo_ver2_2.pdf, 「試験で使用する情報技術に関する用語・プログラム言語など」Ver2.2(2012年5月版)}[PDFファイル]
別紙 1 アセンブラ言語の仕様
@end quotation
@iftex
YACASL2は、CASL IIアセンブラ言語で記述されたファイルをアセンブルし、仮想マシンCOMET II上で実行します。アセンブルと実行は、連続で行うことも別々に行うことも可能です。
YACASL2の動作はCASL IIの仕様に準拠しているため、情報処理試験の問題をはじめ各種参考書やサイトに記載されたCASL IIのプログラムをそのままアセンブルして実行できます。また、本パッケージ中にCASL IIのサンプルプログラムが多数収録されています。
-YACASL2は、「ふつうの処理系」として動作します。ほかの多くのCASL IIエミュレータと違い、デバッガとして動作したり、コンピュータ内部の模式図を表示したりすることはありません。そのかわり、YACASL2は、次のような動作内容をすべてテキストで出力します。
+YACASL2は、「ふつうの処理系」として動作します。ほかの多くのCASL IIエミュレータと違い、デバッガとして動作したり、コンピュータ内部の模式図を直接表示したりすることはありません。そのかわり、YACASL2は、次のような動作内容をすべてテキストで出力します。
@itemize @bullet
YACASL2の操作は、端末を開いてコマンドを入力・実行することで行います。
@unnumberedsec 要件
-YACASL2は、LinuxやMac OS Xなど、UNIX系のOS上で動作します。現在動作を確認しているのは、次の環境です。
+YACASL2は、LinuxやMac OS Xなど、UNIX系のOS上で動作します。
-@itemize @bullet
-
-@item
-Ubuntu Linux 10.04
-
-@item
-Vine Linux 5.2
-
-@item
-Mac OS X 10.6.5
-@end itemize
-
-インストール時に、@kbd{tar} @kbd{gcc} @kbd{make}が必要です。Linuxでは多くの場合、標準でインストールされています。Mac OS Xの場合、@code{Xcode}をインストールするといっしょにインストールされます。
+インストール時に、@kbd{tar} @kbd{gcc} @kbd{make}(@kbd{gmake})が必要です。Linuxでは多くの場合、標準でインストールされています。Mac OS Xの場合、@code{Xcode}のcommand line toolsをインストールすれば使えるようになります。
@node Install, Usage, About, Top
@chapter YACASL2のインストール
@node Download, Verify, Install, Install
@section YACASL2ファイルのダウンロード
-@uref{http://www.j8takagi.net/yacasl2/, YACASL2ã\81®ã\82µã\82¤ã\83\88}ã\81¾ã\81\9fã\81¯@uref{http://github.com/j8takagi/YACASL2/downloads/, githubã\81®ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\83\9aã\83¼ã\82¸}ã\81\8bã\82\89æ\9c\80æ\96°ç\89\88ã\81®@file{tar.gz}ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\81\97ます。
+@uref{http://www.j8takagi.net/yacasl2/, YACASL2ã\81®ã\82µã\82¤ã\83\88}ã\81\8bã\82\89ã\80\81@file{tar.gz}ã\81¾ã\81\9fã\81¯@file{tar.xz}ã\83\95ã\82¡ã\82¤ã\83«ã\81¨ã\80\81対å¿\9cã\81\99ã\82\8bæ¤\9c証ç\94¨ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\81\97ã\81¾ã\81\99ã\80\82@uref{http://github.com/j8takagi/YACASL2/downloads/, githubã\81®ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\83\9aã\83¼ã\82¸}ã\81\8bã\82\89@file{tar.gz}ã\81ªã\81©ã\81®ã\83\95ã\82¡ã\82¤ã\83«ã\82\92ã\83\80ã\82¦ã\83³ã\83ã\83¼ã\83\89ã\81\99ã\82\8bã\81\93ã\81¨ã\82\82ã\81§ã\81\8dます。
@node Verify, Expand, Download, Install
@section YACASL2ファイルの検証
-ダウンロードが完了したら、@kbd{md5sum}と@kbd{diff}で正しくファイルがダウンロードができているかを検証します。
+ダウンロードが完了したら、圧縮ファイルが改竄されていないか検証します。検証にはGnuPG分離署名か、MD5ハッシュ値を使います。
+
+@subsection GnuPG分離署名での検証
+
+GnuPGの@kbd{gpg}で圧縮ファイルを検証します。この検証を行うには、GnuPGがインストールされ、自分の秘密鍵と公開鍵のペアが作成されている必要があります。
+
+@example
+$ @kbd{gpg --verify yacasl2.tar.xz.asc}
+gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1
+gpg: Can't check signature: public key not found
+$ @kbd{gpg --recv-keys 25B62DD1}
+gpg: requesting key 25B62DD1 from hkp server keys.gnupg.net
+gpg: key 25B62DD1: public key "j8takagi <j8takagi@@nifty.com>" imported
+gpg: Total number processed: 1
+gpg: imported: 1 (RSA: 1)
+
+$ @kbd{gpg --lsign-key 25B62DD1}
+
+pub 2048R/25B62DD1 created: 2012-09-29 expires: never usage: SC
+ trust: unknown validity: full
+sub 2048R/92E25C29 created: 2012-09-29 expires: never usage: E
+[ full ] (1). j8takagi <j8takagi@@nifty.com>
+
+
+pub 2048R/25B62DD1 created: 2012-09-29 expires: never usage: SC
+ trust: unknown validity: full
+ Primary key fingerprint: 653A 5D2E 49C3 2ADE 2FE3 87BB AB68 4DDB 25B6 2DD1
+
+ j8takagi <j8takagi@@nifty.com>
+
+Are you sure that you want to sign this key with your
+key ".* <.*@@.*>"
+
+The signature will be marked as non-exportable.
+
+Really sign? (y/N) y
+
+You need a passphrase to unlock the secret key for
+user: ".* <.*@@.*>"
+2048-bit RSA key, ID ........, created 20..-..-..
+
+<input password>
+
+$ @kbd{gpg --verify yacasl2.tar.xz.asc}
+gpg: Signature made Sat Oct 27 02:17:16 2012 JST using RSA key ID 25B62DD1
+gpg: checking the trustdb
+gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
+gpg: depth: 0 valid: 1 signed: 4 trust: 0-, 0q, 0n, 0m, 0f, 1u
+gpg: depth: 1 valid: 4 signed: 0 trust: 4-, 0q, 0n, 0m, 0f, 0u
+gpg: Good signature from "j8takagi <j8takagi@@nifty.com>"
+@end example
+
+@subsection MD5ハッシュ値での検証
+
+@kbd{md5sum}と@kbd{diff}で圧縮ファイルを検証します。
@example
$ @kbd{openssl md5sum yacasl2.tar.gz | diff -s yacasl2.tar.gz.md5sum -}