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

『関数』から始まる変数が定義できない #341

Closed
kujirahand opened this issue Jan 3, 2019 · 5 comments
Closed

『関数』から始まる変数が定義できない #341

kujirahand opened this issue Jan 3, 2019 · 5 comments

Comments

@kujirahand
Copy link
Owner

kujirahand commented Jan 3, 2019

0b94445 の変更において、関数から始まる変数名が定義できなくなっています。

「関数説明」とか「関数定義」という名前の変数を使っている、batch/pickup_command.nako3が実行できなくなりました。

関連 - #221

@kujirahand
Copy link
Owner Author

kujirahand commented Jan 3, 2019

変数名に「関数」という語を含めることができないというのは、ちょっと理不尽な感じです。

そもそも、字句解析(nako_lex_rule)の段階では、できるだけ、例外ルールを設けない方向でいきましょう。その方が、将来的に高度なエディタを作る場合に、字句解析が簡単になります。
現在の例外は、「ここから」「ここまで」「かつ」「または」「もし」だけです。

そこで、引数に関数を取る場合、引数定義を「関数f」とするのは止めましょう。
案として、以下の二つが考えられます。

  • (1) v1互換で「{関数}f」
  • (2) 利便性を重視して「関数 f」
  • (3) なんとなく「関数:f」

どれが良いでしょうか?

@kujirahand
Copy link
Owner Author

#(1)の案
●({関数}aをbで)演算処理とは
  それは、a(b)
ここまで
#(2)の案
●(関数 aをbで)演算処理とは
  それは、a(b)
ここまで

一晩考えたら、見た目的にも(2)の案が良い気がしてきました。

@massongit
Copy link
Collaborator

massongit commented Jan 4, 2019

(2)案は『関数』と関数名の間に空白を入れる形だと認識していますが、初心者目線で見るとわかりづらいような気もします (日本語では分かち書きを行う習慣がないため、空白の重要性が認識されづらいのではないでしょうか)。

@kujirahand
Copy link
Owner Author

それでは、v1に似せて、(1)の案で行きましょう。

@kujirahand
Copy link
Owner Author

こちら、作業しました。これからコミットします。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants