- 【Lua】組み込み系言語総合 その6【Squirrel】
739 :デフォルトの名無しさん[sage]:2016/01/24(日) 13:23:45.64 ID:xtpCszE9 - >>58
Lua の文法って簡単なんだなーと思って試しにパーサを書いてみてたんだけど、 マニュアルの BNF 通りだと左再帰になってるから無限ループに陥ってしまった。 間接的な左再帰だから俺のへぼい知識では除去できなかった。 実際に Lua の実装では再帰下降してるっぽいからなんとかしてるんだとは思うけど、 左再帰を除去した文法規則の表とかってどっかにないかな? ソースコード読むしかない?
|
- C++14/C++1z 20
942 :デフォルトの名無しさん[sage]:2016/01/24(日) 17:43:53.31 ID:xtpCszE9 - break はそのブロックの範囲内だけで意味を持つという点では構造化の枠組みの中にある。
ラベル付きbreakも任意の場所じゃなくてブロックに対して名前を付けるんだから分かり難いとはいえ構造化を壊すというほどでもないし、 gotoと同じというのは言い過ぎだと思うけどな。 ただ、gotoより名前付きbreakの方がわかりやすいようなケースだとそれはもう既にダメなコードになってるだろ。 だらだらとネストが深くなってるようなコードを更にブロックでネストしてもダメな構造化だ。 Javaマン的には「わかってても必要なんだよ!」ってことかもしれんけど、 そんなの考えても本当にうんざりするだけで実につまらん。
|
- C++14/C++1z 20
947 :デフォルトの名無しさん[sage]:2016/01/24(日) 18:53:50.83 ID:xtpCszE9 - >>944
だからさぁ、どうせマヌケなのにそれが名前付きbreakになったからってどうだっていうんだ? それのどっちがマシか議論したってうんざりするだけだろって言いたいの。
|