DNCL処理系XTetra
最新バージョン
概要
XTetraはTetraを改良したセンター試験用手順記述標準言語 (DNCL) の処理系です。 Tetraにはない描画関数やエディタのシンタックスハイライト機能などが実装されています。また、モバイルユーザビリティを向上し、アクセスされた端末に応じてレイアウトを変化させるように設計されています。
DNCL
センター試験用手順記述標準言語 (DNCL) は、センター試験の情報関係基礎で使用されている手順やアルゴリズムを記述するための疑似言語です。大学入試に情報の科目が導入されると、高等学校において教育用に使用されているプログラミング言語が多様なことから、従来のセンター試験で使用されていたDNCLのような疑似言語が使用される可能性があります。XTetraでは、DNCLに組み込み関数や関数定義などの拡張要素を持たせたDNCLを用いてプログラムを記述します。文法は公式の仕様書に準拠しています。
豊富なプログラムを公開
以下のページでXTetraで実行可能なDNCLのプログラムを公開しています。TetraのDNCLとは互換性がありません。
IDEの仕様
操作ボタン
①設定ボタン
フォントサイズ、エディタのサイズ、実行モード等を設定します。
②ダウンロードボタン
DNCLプログラムをテキストファイルとしてダウンロードします。エンコード形式はUTF-8です。
③開くボタン
端末に保存したテキストファイルを開きます。
④文法エラーチェックボタン
プログラムに文法エラーがあるかをチェックし、プログラムのインデントを整えます。
⑤一時停止/再開ボタン
プログラムを一時停止または再開します。
⑥ステップ実行ボタン
プログラムを1ステップ(1行)実行します。
⑦実行/停止ボタン
プログラムを実行または停止します。
各種設定
設定ボタンをクリックすると、フォント、エディタのサイズ等を設定するダイアログが表示されます。利用する状況に応じて設定をカスタマイズすることができます。
入力支援システム
画面上部には、プログラムの入力を支援する「入力支援ボタン」が配置されています。入力支援ボタンをクリックすると、変数名や値を入力する「入力支援ダイアログ」が表示されます。入力支援システムはDNCLのすべての構文(関数、コメント文等の拡張要素も含む)に対応しています。
テキストエディタ
XTetraのテキストエディタには、DNCLプログラムのシンタックスハイライト機能があります。コードの視認性が向上し、予約語やトークンの種類を簡単に見分けることができます。行番号の⊖ボタンを押すと、ソースコードを折りたたむことができます。
エラーレポート
XTetraでは充実したエラーレポートの機能を提供しています。エラー発生時には、コンソールとエラーの起きた行の直下に詳細なエラーメッセージが表示されます。
ダークモード
XTetraでは新たに「ダークモード」の機能を導入しています。白を基調とした画面と黒を基調とした画面を切り替えることが可能です。状況に応じてそれぞれのモードを切り替えることで、端末や目にかかる負担を軽減する効果が期待できます。
描画機能
XTetraでは組み込み関数として描画処理用の関数を提供しています。描画関数を使用することで、様々な図形を描画することができます。
プログラムの実行
処理方式
XTetraでは、ユーザーの作成したプログラムはJavaScriptにトランスコンパイルされ、JavaScriptとして実行されます。そのため、プログラムの処理速度はブラウザや使用端末に依存します。
実行モード
XTetraではプログラムの通常実行、ステップ実行、一時停止が可能です。プログラムの実行中には変数リストで変数の様子を観察することができます。
動作環境
ブラウザ | 動作 |
---|---|
Chrome | 〇 |
Edge | 〇 |
Firefox | 〇 |
Opera | 〇 |
Safari | 〇 |
Internet Explorer | × |
XTetraはInternet Explorerを除くモダンなウェブブラウザで動作します。PCだけでなく、スマートフォンやタブレットなどのモバイル端末からも利用することができます。バグ修正によりIDEのページは修正されることがあります。ブラウザのキャッシュ機能が有効になっている場合、Webページの修正が反映されないことがあります。
使用したライブラリ
テキストエディタ → Marijn Haverbeke:CodeMirror
ステップ実行におけるJavaScriptのインタプリタ → NeilFraser:JS-Interpreter
ユーザーインターフェースの制御 → jQuery
DNCLのトランスコンパイラ → DNCL-Transpiler
サイズ変更可能なコンテナー → split-pane