「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@740) [中] [未処理]
@740■ (#2340) トークン分割でエラーが出る - AI (2014-09-26 07:35) /中 未処理
【症状】トークン分割で使えない文字がある
【再現方法】`ゞ`をトークン分割
【要望】どのような解決が望ましいか?
    ①使えるようにする。
    ②エラーを出さないように(使えない文字は強制的に分割してしまう)
    ③使えない文字コードの周知(事前に解れば置き換えなどで対処できそう)

【バージョン】
    バージョン:1.544 DX版
    最終更新日:2014/08/25
    OS   :Windows 7 [6.1(7601:2)]

(#2342) Re: トークン分割でエラーが出る - うぇいく (2014-10-04 22:31) /中 未処理
トークン分割では、単純に、なでしこのソースを解析する仕組みをそのまま使っているようなので、識別子(変数名や関数名)に使えない文字で、無視されない文字(平仮名は命令の解析上無視される)で、演算子でもない文字はエラーになると思います。
※おおざっぱには、個別の意味を割り当てられてなくて、変数名にも使えない、記号です。半角の記号は大体なにかしらの意味が割り当てられているので、主には全角の記号になります。

「なでしこと同じ」という点はメリットになりそうなので、③がよさそうなのです。(普段、見かけない文字やどうやって表示するのかまようような文字が大半です)

それとは別として、かな漢字とそれの濁点付きでの、「同じ」「繰り返し」を表す文字は、識別子として使えたほうが良いのでしょうか・・・?

(#2343) Re:Re: トークン分割でエラーが出る - AI (2014-10-05 01:14) /中 未処理
うぇいくさま、いつもお世話になっております。
お陰さまで理由が解りスッキリしました。

トークン分割の他にもそのような命令がありそうですね。
>識別子(変数名や関数名)に使えない文字
に由来する命令です。


>かな漢字とそれの濁点付きでの、「同じ」「繰り返し」を表す文字は識別子として使えたほうが良いのでしょうか・・・?

内部のことは解ってないので素人発想ですが
いっそのこと普段見かけない文字や「々ゝ〃仝」などの繰り返し文字も平仮名と同じように無視してくれるのが良いと思ったりしましたが、それだと色々と問題があるのかも知れませんね。
(起動時の処理が遅くなたり、過去のリソースが使えなくなったりと、よく解りませんが)

一番問題なのは、
取り扱うデータ毎の含まれる文字によってイレギュラーにエラーが出る時があると言うことだと思いますが、そのことが事前に、解っていれば回避出来るので③が現実的なのかも知れませんね。


(#2344) トークン分割で使えない文字一覧 - AI (2014-10-05 09:16) /中 未処理
先ほどの投稿した後に思いなおしたのですが、やはり、「々ゝ〃仝」などの繰り返し文字は無視しては気がつかないバグの温床になりそうなので発言を撤回させてください。


以下のサイトのリストをお借りして
トークン分割に使えない文字を力技ですが調べてみました。

http://hp.vector.co.jp/authors/VA006522/soft/sjiskanji/s-jis.htm
カンマ区切形式
sk_kigou.txt  記号・英数
sk_kanji1.txt  第一水準
sk_kanji2.txt  第二水準
sk_kanji3.txt  第三水準
sk_ibmkanji.txt  IBM漢字
sk_gaiji.txt  外字

データをダウンロードしてエラー監視命令を使ってエラーに掛かる文字調べてみました。

後半・のような記号が続きますが、バイナリダンプして見ると別々の文字コードのようなのでそのままコピペしてあります。

僕の知識では、毎度ファイルを開いた時に文字列検索等で一文字づつ置き換えるようなことしか出来そうにありませんが、データファイルの数が増えて大量になるとちょっと処理時間が掛かりそうです。

バイナリダンプで見ると使えない文字コードは連続して存在していることが多いので、なんらかの方法で効率よくそれらの文字をエスケープするようなことが言語側の機能として出来ないものでしようか。


●トークン分割でエラーが出た文字
゛゜´`¨ ̄ヽヾゝゞ〃仝々〆〇ー―‐\∥…‥‘“”〔〕〈〉《》「」『』±∞∴♂♀°′″℃¢£§☆★○◎◇◆□△▽▼〒↑↓〓・・・・・・・・・・・∈∋⊆⊇⊂⊃∪∩・・・・・・・・∧∨¬⇒⇔∀∃・・・・・・・・・・・∠⊥⌒∂∇≡≒≪≫√∽∝∵∫∬・・・・・・・ʼn♯♭♪†‡¶・・・・◯・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・

(#2340)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能