問題タブ [nand2tetris]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
regex - アセンブラの C コマンドをキャッチする正規表現
Nand-2-Tetris コースを受講しています。書き込みとアセンブラを求められます。C コマンドは、dest=comp;jump
各部分がオプションのタイプです。
私はすべてを簡単にするために正規表現を書こうとしていました-特定の行で式をコンパイルし、グループ番号だけで、式のどの部分を使用しているかを知りたいです。たとえば、式の場合: A=M+1;JMP
I want to get group(1) = A
, group(2) = M
and group(3) = JMP
.
私の問題は、各部分がオプションであるため、この正規表現の書き方が正確にわからないことです。これまでのところ、私は思いつきます:
これはほとんどの場合に機能しますが、期待どおりには機能しません。たとえば、コンプがないと機能しません ( D;JGT
)。私は前向きな先読みを試みましたが、うまくいきませんでした。
nand2tetris - Nand To Tetris (Jack): このエラーが発生する等値テストで条件付きの場合は単純です - 「Expected - or ~ or ( in term」
エラーが表示されます: Expected - or ~ or ( in term
。
完全な出力:
エラーの意味は何ですか?
nand2tetris - Nand から Tetris: 文字列の等価性テストが機能しない
これはfalse
の代わりに出力していtrue
ます。どうしてこれなの?
foo
と"bar"
がそれぞれのオブジェクトであり、 が各オブジェクト=
の開始アドレスが同じかどうかをテストしているためだと思います ( Jackでは、二重または三重の等号ではなく、単一の等号で等値がテストされることに注意してください)。私はまだ 10/11 章に到達していません。この仮説が正しいかどうかを確認するのはそのときです。