Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

added lexer #18

Merged
merged 4 commits into from
Dec 14, 2024
Merged

added lexer #18

merged 4 commits into from
Dec 14, 2024

Conversation

mmiyahar1205
Copy link
Collaborator

lexer(ファイルの情報をdataに保存する)を作った

  • memory leakとかチェックできてないので要チェックかも

@mmiyahar1205 mmiyahar1205 linked an issue Dec 13, 2024 that may be closed by this pull request
Copy link
Owner

@kurrrru kurrrru left a comment

Choose a reason for hiding this comment

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

  • 依存関係からして、mlx_init関係を呼び出すのは、read_fileが完了した後の方がいいと思う
  • open, malloc, mlx_initとか、失敗したらエラーメッセージ出して終了する系の関数をwrapしたxopen, xmalloc, xmlx_initを用意してるから、使っていいよ。というかむしろ、mlx_initとかの前だったら、exitしたらリソースを解放してくれるから、積極的にx...を使いたいかも
    • mlx_initとかは、ちゃんと解放してくれるかは分からないから、明示的に解放した方が良さそう
  • readfile内のwhileループ終了時はnext_lineはNULLのはずだから、freeいらなそう
  • handle_elements内の、msg_exit("Invalid or error processing element in file\n");\nは不要かも
  • handle_elements内、statusという変数なくてもいいかも
  • init_data内で、dataはmallocしなくてもいいかも(すでにスタック領域にメモリ確保された状態だから)
  • process_elementの実装見た感じ、ft_strcmpを今からでも作った方が分かりやすいような気がする
  • read_fileやset_...の各関数も、返す値はマクロを使った方が分かりやすいと思う(0/1でも0/-1でもいいけどできるだけ統一した方がいい)
  • elements_lenみたいな関数を作った方がよいかも
    • 今の感じだと、char *の配列の長さはいくつが正しいのか、ぱっと見で分かりづらいかも
  • parse_colorは0~255の値を扱う
    • 255以下であることのチェックも必要かも?
  • 数値以外の文字がないかのチェックはした方がいいかも
  • 全部は見切れてないので明日みます

@mmiyahar1205
Copy link
Collaborator Author

commit comment 1

対応完了

  • 依存関係からして、mlx_init関係を呼び出すのは、read_fileが完了した後の方がいいと思う
  • open, malloc, mlx_initとか、失敗したらエラーメッセージ出して終了する系の関数をwrapしたxopen, xmalloc, xmlx_initを用意してるから、使っていいよ。というかむしろ、mlx_initとかの前だったら、exitしたらリソースを解放してくれるから、積極的にx...を使いたいかも
  • readfile内のwhileループ終了時はnext_lineはNULLのはずだから、freeいらなそう
    • mlx_initとかは、ちゃんと解放してくれるかは分からないから、明示的に解放した方が良さそう
  • handle_elements内の、msg_exit("Invalid or error processing element in file\n");\nは不要かも
  • init_data内で、dataはmallocしなくてもいいかも(すでにスタック領域にメモリ確保された状態だから)
  • handle_elements内、statusという変数なくてもいいかも
  • process_elementの実装見た感じ、ft_strcmpを今からでも作った方が分かりやすいような気がする
  • parse_colorは0~255の値を扱う
    • 255以下であることのチェックも必要かも?

未対応

  • read_fileやset_...の各関数も、返す値はマクロを使った方が分かりやすいと思う(0/1でも0/-1でもいいけどできるだけ統一した方がいい)
  • elements_lenみたいな関数を作った方がよいかも
    • 今の感じだと、char *の配列の長さはいくつが正しいのか、ぱっと見で分かりづらいかも
  • 数値以外の文字がないかのチェックはした方がいいかも

Copy link
Owner

@kurrrru kurrrru left a comment

Choose a reason for hiding this comment

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

  • data.img.image = xmlx_new_image(data.mlx, 1000, 1000);を追加したい
  • x...の関数、失敗したらexitする実装にしているから、NULLチェックしなくていいよ
  • norm errorはlibft.hのプロトタイプ宣言のインデントがあっていない
  • ft_lstnewのエラー処理がされていないかも
  • src/wrapにxft_lstnewを作った方がいいかも
  • 座標として-1が与えられることはあり得るため、-1のときエラーとするのは良くないかも
  • splitした後の単語数が想定と違うなどの場合は、エラーメッセージを出してexitしてもいいかも
  • 数値以外の文字があったときをエラーとするために、convertible_to_floatという作った関数を使える
  • splitもxsplitあるよ

@mmiyahar1205
Copy link
Collaborator Author

対応完了

  • data.img.image = xmlx_new_image(data.mlx, 1000, 1000);を追加したい
  • x...の関数、失敗したらexitする実装にしているから、NULLチェックしなくていいよ
  • norm errorはlibft.hのプロトタイプ宣言のインデントがあっていない
  • 座標として-1が与えられることはあり得るため、-1のときエラーとするのは良くないかも
  • splitもxsplitあるよ
  • 数値以外の文字があったときをエラーとするために、convertible_to_floatという作った関数を使える
  • splitした後の単語数が想定と違うなどの場合は、エラーメッセージを出してexitしてもいいかも
  • ft_lstnewのエラー処理がされていないかも
  • src/wrapにxft_lstnewを作った方がいいかも

イェーイ

@kurrrru kurrrru merged commit 2de7042 into master Dec 14, 2024
1 check passed
@kurrrru kurrrru deleted the 11-lexer-parser branch December 14, 2024 13:07
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.

lexer & parser
2 participants