aiscript
aiscript copied to clipboard
コードフォーマットに一致しない時のエラー
入力がコードフォーマットに一致しない時は、パースエラーではなくその旨を伝えるエラーを返せるのが理想ではあるのだけど、各構文の各部分で(FnDefでやったような)スペースの数を判定する方法だと、コードが増大して複雑になりそう。(技術的には可能) → コードフォーマットに一致しない場合も通常のパースエラーを返すようにする?
通常のパースエラーを返すようにすると、ユーザーにはエラーが起こった理由を伝えられない。 ユーザーが分かるのは最後に一致した構文の位置くらい。
コードフォーマットをどれくらい厳しくするかに寄って、判定の複雑度は変わってくるかも。
どうだろう
syntax error(+位置情報)とさえ出ればだいたいどこがおかしいか分かってくれそうだから、コードフォーマットに一致しない場合も通常のパースエラーで良いんじゃないかな
パースエラーでいこう