morilab報告書

半導体・回路設計などに関する技術的な記録を行っています。

2016年01月

SystemVerilogで字句解析&構文解析(2)

前回は字句解析器を作成しました。
今回は構文解析器を作成していきます。

構文解析器のアルゴリズムもいくつかありますが、今回はSimpleLR(単純LR法、SLR(1))に挑戦します。
実装の前に色々準備があるので備忘録も兼ねて手順を少し細かく記録していきたいと思います。 

学術的な面は詳しくないので、手順を中心に記載していきます。 続きを読む

SystemVerilogで字句解析&構文解析(1)

文字列の解析に挑戦してみました。
果たして意味はあるのか?
bison/flexをDPI-Cで呼べばいいのではないか?
→はい、そうです。

まあそうなんですが、逆にbison/flexはちょっと弄ったことあるけど
構文解析器とかをフルスクラッチで書いたことなかったし、勉強も兼ねてSVで書いてみました。 

因みにやりたかったのは、例えば次のような文字から数字の配列を作成するというもの。

"1,2,3" → {1,2,3}
"1-3" → {1,2,3}
"1,3-5,10" → {1,3,4,5,10} 続きを読む
アクセスカウンター