Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>FE Pseudo Language InterpreterNew to Visual Studio Code? Get it now.
FE Pseudo Language Interpreter

FE Pseudo Language Interpreter

1103slabo

|
20 installs
| (0) | Free
Run and debug pseudo-language (.pseudo) for the FE Exam (基本情報技術者試験). Unofficial tool, not affiliated with IPA.
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

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 ウィンドウでの式の評価(変数名・四則演算・比較式・論理演算・配列アクセス・関数呼び出しに対応)
  • コールスタックの表示(現在の関数名と行番号のみ、ネストした呼び出しの全履歴表示は未対応)
  • 疑似メモリパネル:変数のアドレスと配列の実体をグリッドで可視化(クリアボタンで初期表示状態に戻せます)
  • トレース表パネル:ステップ実行中の変数の変化を表形式で記録(監視式の追加、CSV出力に対応)
  • フローチャートパネル:.pseudo ファイルの制御フローをJIS X 0121準拠の図記号でリアルタイムに可視化
  • 新規 .pseudo ファイルの作成(コマンドパレット/エクスプローラー右クリック/エクスプローラー上部アイコン、自動採番・初期テンプレート挿入)
  • シンタックスハイライト
  • コードフォーマッター
  • 特殊記号のスニペット入力(←、×、÷、≧、≦、≠、〇)

使い方

新規ファイル作成

  1. コマンドパレット(Ctrl+Shift+P)から 疑似言語: 新しいFE疑似言語ファイル を選択
    • または、エクスプローラーでフォルダを右クリック → 「新しいFE疑似言語ファイル」
    • または、エクスプローラー上部のアイコンをクリック
  2. Untitled-1.pseudo のような名前で新規ファイルが自動生成され、初期テンプレートが挿入された状態でエディタに表示される
  3. エディタに、手書きでコードを入力して、保存する。

実行

  1. .pseudo ファイルを開く
  2. Ctrl+F5 を押す、またはエディタ右上の ▶ ボタンをクリック
  3. コマンドパレット(Ctrl+Shift+P)から 疑似言語: 実行 を選択することもできます

デバッグ

  1. .pseudo ファイルを開く
  2. F5 を押す、またはコマンドパレットから 疑似言語: デバッグ を選択
  3. VSCode 標準のデバッグUI(変数ウィンドウ・Watch・コールスタック・ブレークポイント)が使えます
  4. 疑似メモリパネルがパネルエリアに表示され、配列のアドレスと実体の対応を確認できます
  5. トレース表が表示され、ステップごとの変数の変化を表形式で確認できます

フローチャート表示

  1. .pseudo ファイルを開く
  2. エディタ右上の type-hierarchy アイコンをクリック、またはコマンドパレットから 疑似言語: フローチャートを表示 を選択
  3. エディタ右側にプレビューパネルが開き、コードの制御フローが図示されます(左右分割表示)
  4. 同じ .pseudo ファイルで再実行すると、既存のパネルが更新されます(新規パネルは開きません)
  5. パースエラーがある場合は、パネル内にエラーメッセージが表示されます

疑似メモリパネル

デバッグ中、画面下部のパネルに 疑似メモリ が表示されます。

  • 変数エリア(上段):各変数のアドレスと値
  • 実体エリア(下段):配列の実体セル
  • 矢印でポインタと実体の対応関係を視覚化
  • arrayB ← arrayA のような参照渡しでは、2つのポインタが同じ実体を指します

テーマは Cream / Dark / Mint から選択できます。


トレース表パネル

デバッグ中、右サイドバーに トレース表 が表示されます。

ステップ実行のたびに「行番号・コード・各変数の値」が1行ずつ記録され、変数の変化を時系列で追跡できます。

  • 値が変化したセルは背景色でハイライト表示されます
  • 配列は [10, 20, 30] の形式で表示されます
  • 監視式入力欄に任意の式(例:x + y、arr[1])を入力すると、評価結果が列として追加されます
  • 「CSV出力」ボタンで、トレース表の内容をCSVファイルとして保存できます(UTF-8 BOM付き、Excel対応)
  • クリアボタン(タイトルバー)でテーブルと監視式を全てリセットできます

右サイドバーが閉じている場合は Ctrl+Alt+B(View: Toggle Secondary Side Bar)で開いてください。


フローチャートパネル

.pseudo ファイルのコードを、JIS X 0121準拠の図記号でフローチャート化して確認できます。

  • 端子記号(角丸矩形):開始・終了
  • 処理記号(矩形):代入・変数宣言
  • データ記号(平行四辺形):出力文
  • 判断記号(ひし形):if / elseif / else
  • ループ端記号(角を斜めに切り落とした六角形):while・do-while・for
  • 定義済み処理記号(二重線矩形):関数呼び出し

関数定義は、それぞれ独立したフローチャートとしてメインの処理と横に並べて表示されます。

外部CDNに依存しない自前のSVGレンダラーで描画しているため、オフライン環境でも利用できます。

パネル右上の 「PNG保存」 ボタンをクリックすると、フローチャートをPNG画像としてローカルに保存できます。


対応構文

構文 例
変数宣言 整数型: x
変数宣言(初期値付き) 整数型: x ← 10
変数宣言(複数) 整数型: x, y, z
代入 x ← 10
算術演算 x + y、x × y、x ÷ y(実数除算)、x ÷ y の商(整数除算・切り捨て)、x mod y
比較演算 x が y より大きい、x ≧ y、x ≦ y、x ≠ y
論理演算 x and y、x or y、not x
条件分岐 if、elseif、else、endif
前判定繰り返し while、endwhile
後判定繰り返し do、while
増減繰り返し(昇順) for (i を 1 から 5 まで 1 ずつ増やす)、endfor
増減繰り返し(降順) for (i を 5 から 1 まで 1 ずつ減らす)、endfor
配列(1次元) 整数型の配列: data
配列(2次元) 整数型の二次元配列: matrix
配列アクセス(2次元) matrix[i, j](IPA仕様の , 記法)
配列末尾追加 list の末尾に x の値を追加する
値の入れ替え data[i] と data[j] の値を入れ替える
関数定義・呼び出し 〇 関数名(引数)
出力 x の値を出力する
出力(複数・コンマ区切り) x の値と y の値をこの順にコンマ区切りで出力する
コメント(行) // コメント
コメント(ブロック) /* コメント */
return return x
break(ループ終了) 繰返し処理を終了する
break(ラベル付き) αの行から始まる繰返し処理を終了する(// α コメントが付いたループ行を終了)
大域変数 大域: 整数型: g
クラス定義 クラス ClassName … endクラス
インスタンス生成 ClassName: obj / obj ← ClassName(引数)
フィールドアクセス obj.fieldName
フィールド代入 obj.fieldName ← 値
自身のフィールド参照(コンストラクタ内) 自身のfieldName
外部クラスファイルの読み込み /* @include ClassName.pclass */

クラス

クラス定義

クラス〜endクラス でクラスを定義します。
コンストラクタは 〇ClassName(引数) として定義します。

クラス Point
    整数型: x
    整数型: y

    〇Point(整数型: qX, 整数型: qY)
        自身のx ← qX
        自身のy ← qY
endクラス

〇main()
    Point: p
    p ← Point(3, 5)
    p.x の値を出力する   // → 3
    p.y の値を出力する   // → 5

フィールドの型にはプリミティブ型だけでなく、他のクラス型も指定できます(連結リストなど)。

.pclass ファイルと @include ディレクティブ

クラス定義を別ファイル(拡張子 .pclass)に分離し、/* @include */ で読み込めます。
.pseudo ファイルと同じディレクトリに配置してください。

ListElement.pclass

クラス ListElement
    文字型: val
    ListElement: next

    〇ListElement(文字型: qVal)
        自身のval ← qVal
endクラス

main.pseudo

/* @include ListElement.pclass */

大域: ListElement: listHead ← 未定義の値

〇main()
    ListElement: node
    node ← ListElement("A")
    listHead ← node
    listHead.val の値を出力する   // → A

複数の .pclass ファイルを読み込む場合は @include を複数行書きます。

/* @include NodeA.pclass */
/* @include NodeB.pclass */

注意:循環 @include(A が B を include し、B が A を include する)は検出されエラーになります。


配列のインデックス

IPA の問題文では、問題によって配列の要素番号が 1 始まり または 0 始まり のどちらかで指定されます。
ファイル内のコメントに問題文の記述をそのまま書くと、インタープリターが自動で判別します。

1 始まり(デフォルト)

ディレクティブを書かない場合、または「要素番号は 1 から始まる」と記述した場合は 1 始まり として動作します。

/* ここで,配列の要素番号は 1 から始まる */
文字列型の配列: data ← {"a", "b", "c"}
data[1] の値を出力する   // → a
data[3] の値を出力する   // → c

0 始まり

「要素番号は 0 から始まる」と記述すると 0 始まり として動作します。

/* ここで,配列の要素番号は 0 から始まる */
文字列型の配列: data ← {"a", "b", "c"}
data[0] の値を出力する   // → a
data[2] の値を出力する   // → c

ディレクティブはファイル内のどこに書いても認識されます(コメント内外を問いません)。
変数ウィンドウと疑似メモリパネルのインデックスラベルも自動的に切り替わります。


スニペット

記号 ひらがなprefix ローマ字prefix
〇 まる maru
× かける kakeru
÷ わる waru
← だいにゅう dainyuu
≧ いじょう ijou
≦ いか ika
≠ ひとしくない hitoshikunai

ひらがなprefixがうまく動作しない時は、ローマ字prefixを使用してください。

配列ディレクティブ

挿入テキスト prefix
/* ここで,配列の要素番号は 0 から始まる */ array0 / 0はじまり / zerohajimari
/* ここで,配列の要素番号は 1 から始まる */ array1 / 1はじまり

対応ファイル

拡張子 .pseudo のファイルが対象です。


既知の制限

  • 文字列操作関数(部分文字列取得など)は未対応です
  • 算術関数(切り捨て・切り上げ・絶対値など)は未対応です
  • 標準入力(キーボード入力)には対応していません
  • 関数のデバッグ時、フローチャートやトレース表、疑似メモリにバグがある場合があります。順次対応中ですのでご了承ください。

除算の挙動について
÷ は型に関係なく常に実数除算を行います(例:7 ÷ 2 → 3.5)。
整数除算(切り捨て)が必要な場合は ÷ の商 を使用してください(例:7 ÷ 2 の商 → 3)。


ライセンス

本ソフトウェアは 「FE疑似言語 教育利用ライセンス 1.0」 の下で提供されています。

  • 許可されること

    • 個人利用
    • 教育目的での利用
    • 複製
    • 無償での再配布
    • 学校・大学・学習塾・研修での利用
    • 教材や授業での利用
    • ブログや動画での紹介
  • 禁止されること

    • ソフトウェアの改変
    • 改変版の配布
    • 商用利用
    • 有償販売
    • 他のソフトウェアやサービスへの組み込み

詳細については、LICENSEを参照してください。


免責事項

本ソフトウェアは現状のまま提供されます。 本ソフトウェアの利用により生じたいかなる損害についても、作者は責任を負いません。

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft