| New MacLab. | MacLab. News Blog | English |
AS Compiler
AppleScriptでは,テキストで記述されたスクリプトをコンパイルして,言語表現に依存しない中間的なバイトコードに変換します。このバイトコードを「コンパイル済みスクリプト」や「スクリプトオブジェクト」または単に「スクリプト」と呼びます。アプリケーションはこのスクリプトをディスクからメモリに読み込んで実行します。
AS Compilerは,AppleScriptを記述したテキストをコンパイルしてスクリプトオブジェクトに変換します。また、コンパイルされたスクリプトオブジェクトをインターネット配信用にDataCompObjフォーマットでデータフォークに保存します。さらに、WebページにAppleScriptを埋め込むための技術であるEmbedding scripts (URL Protocol Messaging)のためのURLエンコードとデコードも行えます。
AppleScriptのURLエンコード
AppleScriptのテキストをURL形式にエンコードします。変換したいAppleScriptのテキストをクリップボードにコピーして,クイックコンパイラをダブルクリックで起動します。しばらくするとURLエンコード済みのAppleScriptがクリップボード内に出力されます。自動的に文頭に「ascpt:」のヘッダが付くので,そのままHTMLの<A HREF=""></A>タグに挿入できます。変換の際にはスクリプトの構文チェックも自動的に行われます。構文エラーの場合は強制的に変換を継続するか,キャンセルするかを選ぶことができます。
AS Runner、NS + Functions、WebRunner、Frontierなどで採用されているascpt:と、AS RunnerとMac OS X 10.3以降のScript Editorで採用されているapplescript:の両方の形式に対応しています。
| Embedding scripts (URL Protocol Messaging) |
AppleScriptのURLデコード
上記の方法で作成したAppleScript-HTMLを元のAppleScriptに戻す機能です。ブラウザなどの「リンクの場所をコピー」でURL形式のスクリプトをコピーしてから起動します。URLエンコード済みのAppleScriptがクリップボード内にある場合は、逆にURLデコードを行われるので、スクリプト編集プログラムなどにペーストして再編集が可能です。
AppleScriptテキストのスクリプトオブジェクトへのコンパイル
スクリプトを記述したテキストファイルをドラッグ&ドロップするとスクリプトオブジェクトに変換します。スクリプト編集プログラムで「別名で保存...」から「コンパイル済みスクリプト」形式で保存するのと同じですが,ウインドウにスタイル付きテキストで表示しない分,高速に変換が可能です。構文エラーがある場合,変換できません。変換後のスクリプトオブジェクトは再びスクリプト編集プログラムで開いて再編集が可能です。自動的にAS Runner用のスクリプトオブジェクト共有ライブラリ規格対応スクリプトに変換されます。
| スクリプトオブジェクト共有ライブラリ規格 |
AppleScriptのデータフォークへの保存
通常,AppleScriptのコンパイル済みスクリプトはファイルのscptリソースに格納されていますが,AS Compilerにスクリプト(コンパイル済みスクリプトやスクリプトアプリケーションなど)をドラッグ&ドロップすると,スクリプトのバイナリコードを読み出してデータフォークに移動します。データフォークへの記録フォーマットには
DataComponentObjectを利用しています。スクリプトをデータフォークに移動することにより,MS-DOSフォーマットのディスクやUNIXベースのサーバなどにBinHexやMacバイナリの変換なしで記録することが可能となります。このファイルは
AS RunnerでURLを指定してネットワーク上で実行したり,
スクリプト送信スクリプトでエージェントとしてAppleTalkネットワーク上で他のMacへ転送して実行させることができます。
これとは逆に、バイナリ形式となっているスクリプトをAS Compilerにドラッグ&ドロップすると,もとのスクリプトオブジェクトに変換します。
これらの操作はスクリプトが再編集不可の状態であっても実行することができます。
動作条件
必要条件
- AppleScriptが動作する環境
(MacOS 7.6.1以降を推奨、Mac OS X対応)
以下のファイルは必須ではありませんが,環境やバージョン,利用する機能により,必要なことがあります。
共有ライブラリはスクリプト本体と同じフォルダに入れることができます。
ネットワークインストーラを利用することで複数の共有ライブラリを一度にインストールすることが可能です。
Mach-O Bundle版、Universal Binary版においてはすべてのライブラリは内蔵インストーラにより自動的にダウンロードされてアプリケーション内部にインストールされます。
このソフトウエアはすべての環境において完全に動作することを保証するものではありません。このソフトウエアを使用したことによるいかなる結果についても作者は責任を負いませんので,ご自分の責任において使用して下さい。動作環境については動作環境についてを参照してください。
| Classic版、Carbon版 | Universal Binary版 |
| Index |
Copyright(C) SUZUKI Kazufumi, All rights reserved.