以前(というかだいぶ前なんだけど),,スキャナが出来た!・・・かもしれないというエントリーを書いた。
んで,出来たと思ってパーサ書いてたら,今更ながらスキャナにバグがあることが判明したorz
コンパイラ入門のP.138に載ってるテストプログラム22がどうしても通らず,いろいろ調べてたらJとENDがくっついて1個のトークンになってIDENTで認識されてる。
エッ(゚Д゚≡゚Д゚)マヂ?
もういっそのこと,END前の行末にもセミコロン付ける仕様にして,パーサで上手く回してしまおうか。ん〜・・・。
以前(というかだいぶ前なんだけど),,スキャナが出来た!・・・かもしれないというエントリーを書いた。
んで,出来たと思ってパーサ書いてたら,今更ながらスキャナにバグがあることが判明したorz
コンパイラ入門のP.138に載ってるテストプログラム22がどうしても通らず,いろいろ調べてたらJとENDがくっついて1個のトークンになってIDENTで認識されてる。
エッ(゚Д゚≡゚Д゚)マヂ?
もういっそのこと,END前の行末にもセミコロン付ける仕様にして,パーサで上手く回してしまおうか。ん〜・・・。
ラダーを書いてて躓いた点。気を付けなくちゃだな。
以下適当にまとめておく。
前提条件
二重コイルで書いちゃった場合
|
| X00
|-----| |------------------------------(Y10)
|
|
・
・
・
|
| X01
|-----| |------------------------------(Y10)
|
|
二重コイル回避方法1:並列接続を使用する
|
| X00
|-----| |------------------------------(Y10)
| |
| X01 |
|-----| |-----
|
|
二重コイル回避方法2:内部接点を使用する
|
| X00
|-----| |------------------------------(M00)
|
| X01
|-----| |------------------------------(M01)
|
・
・
・
|
| M00
|-----| |------------------------------(Y10)
| |
| M01 |
|-----| |-----
|
|
最近のコメント