Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>VSM SyntaxNew to Visual Studio Code? Get it now.
VSM Syntax

VSM Syntax

wwwshinh0707

|
15 installs
| (0) | Free
Provides VSM syntax for VSCode
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

VSM README

setting.json内に以下の内容を含めてください。

"code-runner.executorMap": {
    /*以下を追加*/
    "vsm": "cd $dir && vsm $fileName"
}

/*中略*/

"editor.tokenColorCustomizations": {
        "textMateRules": [
            {
                "scope": "keyword.operator.vsm",
                "settings": {
                    "foreground": "#41af62"
                }
            },
            {
                "scope": "keyword.control.vsm",
                "settings": {
                    "foreground": "#fc6b6b"
                }
            },
            {
                "scope": "keyword.other.vsm",
                "settings": {
                    "foreground": "#fce770"
                }
            },
            {
                "scope": "support.function.vsm",
                "settings": {
                    "foreground": "#fc70e2"
                }
            },
            {
                "scope": "support.variable.vsm",
                "settings": {
                    "foreground": "#a5ff50"
                }
            },
            {
                "scope": "entity.name.function.vsm",
                "settings": {
                    "fontStyle": "italic"
                }
            },
            {
                "scope": "entity.name.section.vsm",
                "settings": {
                    "foreground": "#7d7d7d"
                }
            },
            {
                "scope": "storage.type.baal.vsm",
                "settings": {
                    "foreground": "#af68cfb7",
                    "fontStyle": "bold underline"
                }
            },
            {
                "scope": "storage.type.vsm",
                "settings": {
                    "foreground": "#d8d8d8"
                }
            },
            {
                "scope": "markup.bold.vsm",
                "settings": {
                    "fontStyle": "bold"
                }
            }
        ]
    }

Features

Example

ISP 2
LA 0 0
LC 2
SI
LA 0 1
GETI
SI
LC 10
LC 2
ADD
LC 1
SUB
LV 0 0
ADD
LV 0 1
MOD
PUTI
EXIT

Snippets

対応しているコード
コード 対応 コード 対応
LC ◯ LA ◯
LV ◯ LI ◯
SV ◯ SI ◯
DUP ◯ ISP ◯
GETC ◯ GETI ◯
PUTC ◯ PUTI ◯
ADD ◯ SUB ◯
MUL ◯ DIV ◯
MOD ◯ INV ◯
EQ ◯ NE ◯
GT ◯ LT ◯
GE ◯ LE ◯
B ◯ BZ ◯
SB ◯
CALL ◯ RET ◯
EXIT ◯

VSMの基本的なコードパターンを大文字、小文字対応で実装済み。また、以下のようなスニペットを用意してある。

  • IF

    [条件式]
    BZ [相対アドレス]
    [true時の処理]
    
    
  • IFELSE

    [条件式]
    BZ [Bへの相対アドレス]
    [true時の処理]
    B [false時の処理終わりへの相対アドレス]
    [false時の処理]
    
  • WHILE

    [条件式]
    BZ [Bへの相対アドレス]
    [true時の処理]
    B [条件式への相対アドレス]
    
  • \n
    単に10を表す

  • PUTN
    改行を出力する

    LC 10
    PUTC
    
  • PUTG
    グローバル変数の数値を出力する

    LV 0 [グローバル変数の番号]
    PUTI
    
  • PUTL
    ローカル変数の数値を出力する

    LV 1 [ローカル変数の番号]
    PUTI
    
  • SLV
    変数の自己代入

    LA [0|1] [変数の番号]
    LV [0|1] [変数の番号]
    
    SI
    
  • INCV
    変数に1加える

    LA [0|1] [変数の番号]
    LV [0|1] [変数の番号]
    LC 1
    ADD
    SI
    
  • DECV
    変数から1減らす

    LA [0|1] [変数の番号]
    LV [0|1] [変数の番号]
    LC 1
    SUB
    SI
    
  • GLOBAL
    グローバル変数の値をセット

    LA 0 [グローバル変数の番号]
    
    SI
    
  • LOCAL
    ローカル変数の値をセット

    LA 1 [ローカル変数の番号]
    
    SI
    
  • return(RETの場合はRETだけ)
    メソッドの計算結果を返す

    LA 1 0
    
    SI
    RET
    
  • METHOD
    メソッドの定義

    ISP (3+[引数の個数]+[ローカル変数領域の大きさ])
    
    RET
    
  • CALLMETHOD
    引数付きメソッドの呼び出し

    ISP 3
    [引数をスタック]
    ISP -(3+[引数の個数])
    CALL [実行したいメソッドの絶対アドレス]
    
  • MAIN
    main関数

    ISP [グローバル変数の個数]
    LC [グローバル変数の個数]
    SB 1
    CALL [mainの絶対アドレス]
    EXIT
    
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft