Skip to content

Conversation

@cacapon
Copy link
Owner

@cacapon cacapon commented Apr 24, 2025

fixed #137

  • t_cmdを線形リストで作る
  • 環境変数を文字列として展開

@cacapon cacapon added the WIP まだ作業が完了していないプルリクなどに label Apr 24, 2025
@cacapon cacapon self-assigned this Apr 24, 2025
@cacapon
Copy link
Owner Author

cacapon commented Apr 24, 2025

引数一つのとき、argcが0になる

@dayano74
Copy link
Collaborator

パーサーってparserではないでしょうか?

@dayano74
Copy link
Collaborator

引数一つのとき、argcが0になる

今後1にするという認識でいいでしょうか?

@dayano74
Copy link
Collaborator

dayano74 commented Apr 24, 2025

  • 環境変数の展開はできているのではないでしょうか?
  • シングルクォートのときに展開しないようにする処理は未実装という認識で合っていますか?

> ./test_perser.out "cat -e<in | echo $PATH>out "
cmd->type=0
cmd->argc=2
cmd->argv=[cat,-e,NULL]
cmd->type=3
cmd->argc=1
cmd->argv=[in,NULL]
cmd->type=0
cmd->argc=2
cmd->argv=[echo,/home/dayano/bin:/home/dayano/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin,NULL]
cmd->type=1
cmd->argc=0
cmd->argv=[out,NULL]

}
token_i++;
}
cmds[cmd_i]->argc = arg_i;
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

cmds[cmd_i]->argc = arg_i;を追加ました。コマンド単体のときにargcが0になることはないと思います。

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ありがとうございます!

@dayano74
Copy link
Collaborator

コメントに回答いただけたらapproveしたいと思います!

@cacapon
Copy link
Owner Author

cacapon commented Apr 25, 2025

  • 環境変数の展開はできているのではないでしょうか?
  • シングルクォートのときに展開しないようにする処理は未実装という認識で合っていますか?

> ./test_perser.out "cat -e<in | echo $PATH>out " cmd->type=0 cmd->argc=2 cmd->argv=[cat,-e,NULL] cmd->type=3 cmd->argc=1 cmd->argv=[in,NULL] cmd->type=0 cmd->argc=2 cmd->argv=[echo,/home/dayano/bin:/home/dayano/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin,NULL] cmd->type=1 cmd->argc=0 cmd->argv=[out,NULL]

いえ、そこは未実装です。
実行コマンド見る限りtest_perserの外で行ってるのでbash側が展開してくれたのだと思ってます

@dayano74
Copy link
Collaborator

  • 環境変数の展開はできているのではないでしょうか?
  • シングルクォートのときに展開しないようにする処理は未実装という認識で合っていますか?

> ./test_perser.out "cat -e<in | echo $PATH>out " cmd->type=0 cmd->argc=2 cmd->argv=[cat,-e,NULL] cmd->type=3 cmd->argc=1 cmd->argv=[in,NULL] cmd->type=0 cmd->argc=2 cmd->argv=[echo,/home/dayano/bin:/home/dayano/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin,NULL] cmd->type=1 cmd->argc=0 cmd->argv=[out,NULL]

いえ、そこは未実装です。 実行コマンド見る限りtest_perserの外で行ってるのでbash側が展開してくれたのだと思ってます

なるほどです!

Copy link
Collaborator

@dayano74 dayano74 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

いいと思います!

Copy link
Collaborator

@dayano74 dayano74 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

いいと思います

@dayano74 dayano74 marked this pull request as ready for review April 25, 2025 00:50
@dayano74 dayano74 merged commit 8514f52 into main Apr 25, 2025
1 check passed
@dayano74 dayano74 deleted the feature/137_perser branch April 25, 2025 00:50
@cacapon cacapon removed the WIP まだ作業が完了していないプルリクなどに label Apr 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

構文解析を作る

3 participants