Bashのブレース展開のルールの謎
Sun Jan 28 22:58:27 JST 2024 (modified: Sat Feb 10 17:22:56 JST 2024)
views: 1364, keywords:bash
Bashの当該部分のコードがわけわかんなくて私にとってはブラックボックスなので、はっきり言ってルールがさっぱりわかりません。構文解析(最近、LL法と思われる方法しか使ってないのでLR法)をたぶんイチからおさらいしないと理解できない模様ですが、ヒントください(泣)
明日あたり構文木を紙に書いてみますか・・・
謎ルール
うーんうーん
— 上田隆一 (@ryuichiueda) January 28, 2024
```
$ echo {b{c},c}
b{c} c
$ echo {}b{c},c}
{}bc} {}bc
$ echo a{}b{c},c}
a}b{c} ac
$ echo {a}{b{c},e}
{a}b{c} {a}e
$ echo {a}b{c},e}
a}b{c} e
$ echo {a}b{c,d},e}
a}bc a}bd e
```
特に2番目と3番目、あたまにaがついただけで解釈変わるのなんで?私は何を見落としているんでしょうか???たぶん情報科出てる人ならさっと教えてくれるはず・・・くれるはず・・・
とりあえず仕事に支障が出るので寝る。
- 参考: (自分には参考にしようにもわけがわかんない)Bashのbison/yacc用と思われるコード
20240129メモ
オートマトンで考えたほうがいいかもしれない。
20240210解決
↑ごちゃごちゃ書きましたが解決したっぽいです。