FE Pseudo Language Interpreter
FE = Fundamental Information Technology Engineer Examination(基本情報技術者試験)
This is an unofficial tool. Not affiliated with IPA (Information-technology Promotion Agency, Japan).
基本情報技術者試験で使用される疑似言語を、VSCode上で実行・デバッグできる拡張機能です。
試験の過去問や練習問題を「実際に動かしながら」学習できます。
注意:非公式な個人的に作成されているアプリです。
機能
.pseudo ファイルの実行(出力パネルに結果を表示)
- ステップ実行(
F10:ステップオーバー / F11:ステップイン)
- ブレークポイントの設定
- 変数ウィンドウでの変数値の確認
- Watch ウィンドウでの変数値の監視(変数名のみ対応、式の評価は未対応)
- コールスタックの表示(現在の関数名と行番号のみ、ネストした呼び出しの全履歴表示は未対応)
- 疑似メモリパネル:変数のアドレスと配列の実体をグリッドで可視化
- シンタックスハイライト
- コードフォーマッター
- 特殊記号のスニペット入力(
←、×、÷、≧、≦、≠、〇)
使い方
実行
.pseudo ファイルを開く
Ctrl+F5 を押す、またはエディタ右上の ▶ ボタンをクリック
- コマンドパレット(
Ctrl+Shift+P)から 疑似言語: 実行 を選択することもできます
デバッグ
.pseudo ファイルを開く
F5 を押す、またはコマンドパレットから 疑似言語: デバッグ を選択
- VSCode 標準のデバッグUI(変数ウィンドウ・Watch・コールスタック・ブレークポイント)が使えます
- 疑似メモリパネルがパネルエリアに表示され、配列のアドレスと実体の対応を確認できます
疑似メモリパネル
デバッグ中、画面下部のパネルに 疑似メモリ が表示されます。
- 変数エリア(上段):各変数のアドレスと値
- 実体エリア(下段):配列の実体セル
- 矢印でポインタと実体の対応関係を視覚化
arrayB ← arrayA のような参照渡しでは、2つのポインタが同じ実体を指します
テーマは Cream / Dark / Mint から選択できます。
対応構文
| 構文 |
例 |
| 変数宣言 |
整数型: x |
| 変数宣言(初期値付き) |
整数型: x ← 10 |
| 変数宣言(複数) |
整数型: x, y, z |
| 代入 |
x ← 10 |
| 算術演算 |
x + y、x × y、x ÷ y、x mod y |
| 比較演算 |
x が y より大きい、x ≧ y、x ≦ y、x ≠ y |
| 論理演算 |
x かつ y、x または y、x でない |
| 条件分岐 |
if、elseif、else、endif |
| 前判定繰り返し |
while、endwhile |
| 後判定繰り返し |
do、while |
| 増減繰り返し |
for、endfor |
| 配列(1次元) |
整数型の配列: data |
| 配列(2次元) |
整数型の二次元配列: matrix |
| 配列アクセス(2次元) |
matrix[i, j](IPA仕様の , 記法) |
| 配列末尾追加 |
list の末尾に x の値を追加する |
| 値の入れ替え |
data[i] と data[j] の値を入れ替える |
| 関数定義・呼び出し |
〇 関数名(引数) |
| 出力 |
x の値を出力する |
| 出力(複数・コンマ区切り) |
x の値と y の値をこの順にコンマ区切りで出力する |
| return |
return x |
| 大域変数 |
大域: 整数型: g |
スニペット
| 記号 |
ひらがなprefix |
ローマ字prefix |
〇 |
まる |
maru |
× |
かける |
kakeru |
÷ |
わる |
waru |
← |
だいにゅう |
dainyuu |
≧ |
いじょう |
ijou |
≦ |
いか |
ika |
≠ |
ひとしくない |
hitoshikunai |
ひらがなprefixがうまく動作しない時は、ローマ字prefixを使用してください。
対応ファイル
拡張子 .pseudo のファイルが対象です。
既知の制限
- 文字列操作関数(部分文字列取得など)は未対応です
- 算術関数(切り捨て・切り上げ・絶対値など)は未対応です
- 標準入力(キーボード入力)には対応していません
ライセンス
UNLICENSED — 個人の学習目的での利用は歓迎します。商用利用および再配布はご遠慮ください。
| |