ab.com コミュニティ

ActiveBasicを通したコミュニケーション
現在時刻 - 2024年3月28日(木) 18:15

全ての表示時間は UTC+09:00 です




返信する
ユーザー名:
件名:
メッセージ本文:
メッセージを入力してください。60000 字まで入力できます。 

フォントサイズ:
フォントカラー
オプション:
BBCode: ON
[img]: ON
[flash]: OFF
[url]: ON
スマイリー: OFF
BBCode を無効にする
URL を自動的にパースしない
クイズ
お手数ですがカタカナで「エービー」と4文字を入力してください。:
答えを正確に入力してください。答えられるかどうかでスパムボットか否かを判定します。
   

トピックのレビュー - 変数に日本語を使用出来る様にして欲しい
作成者 メッセージ
  記事の件名:   引用付きで返信する
実際には出力時も変換が要る場合もあります(AB5の非UNICODEモード)。
GCCが実際にそういう風に作られており,入力時と出力時の変換に用いる文字コードをそれぞれ--input-charset, --exec-charsetというオプションで指定できるようになっています。

その例のUTF-8N, EUC, JISで書いたプログラムは,コンソールやプロンプトウィンドウを使わず,ファイルに入出力するようにするとうまくいくと思います(もちろんファイルの中身は当該の文字コードになると思います)。
投稿記事 Posted: 2007年11月26日(月) 00:16
  記事の件名:   引用付きで返信する
コード:
#N88BASIC

Print "テストプログラム1"
上のソースコードの各キャラクタセットを試してみたところ、AB423では

Unicode:文法が間違っていると怒られる。
UTF-8:コンパイラが認識できない文字が含まれていると言われる。
UTF-8N:コンパイルは可能。ただし文字化けする。
EUC:コンパイルは可能。ただし文字化けする。
JIS:コンパイルは可能。ただし文字化けする。
S-JIS:正常。

という結果になりました。(改行コードはCRLFで試しました。)

(コンパイラの)パーサとスキャナをUnicode用に直して、文字をUnicodeに変換するプログラムを追記するという作業をすればなんとかなりそうな気がしますが。

ソース→[スキャナ(SJIS)]→[パーサ(SJIS)]→[コードジェネレータ]→実行ファイル

ソース(character:Unknown)→[変換]→[スキャナ(Uni)]→[パーサ(Uni)]→[コードジェネレータ]→実行ファイル
投稿記事 Posted: 2007年11月25日(日) 23:09
  記事の件名:   引用付きで返信する
個人的には使う気になりませんが,使えないなんてのはただの制約でしかないと思っていますから賛成です。

----------------
以下技術的な話です。

どんな文字を許すかという基準はUnicodeを参照して明確にすればよいでしょう。

Unicodeでは各文字に対して様々な属性 (property)を付与していますが,中でも一般カテゴリ値 (General Category Values)が数字,記号,空白などといった分類を提供しています。
これは大分類と小分類の2字からなっており,例えばLu (letter, uppercase; 大文字)やSm (symbol, math; 数学記号)という具合です。
http://www.unicode.org/Public/UNIDATA/UCD.htmlから入手できるUnicodeData.txtが一覧になっています。

これを具体的に使用したものとしてC#が挙げられます。
C# 3.0言語仕様(http://msdn2.microsoft.com/en-us/vcsharp/Aa336809.aspxから入手可)の「2.4.2 Identifiers」をまとめると,次のようになっています。
  • 1文字目はLu, Ll, Lt, Lm, Lo, Nlに属す文字と下線 (U+5F)
  • 2文字目以降はそれに加えMn, Mc, Nd, Pc, Cfも使用可能
これを当てはめると次のようになります。
  • 仮名漢字は全てLoに属するので使用可能
  • =(全角, U+FF1D)はSmなので使用不可能
  • 1(全角, U+FF11)はNdなので2文字目以降に使用可能(現在の半角数字と同じ扱い)
ほか特記すべきこととして,「2.3.3 White space」で空白文字にタブなどのほか,Zsに属す文字全てを指定していることがあります。
つまり全角空白が半角空白同様に使用可能なのです。

あとは改行がCR (U+0D), LF (U+0A), CR LFの並びのほか,NL (U+85), 行区切り (U+2028), 段落区切り (U+2029)となっているところも注目点でしょうか。
そもそもABってUnicode使った文字コードのソースをコンパイルできたけって気がしますけど。
投稿記事 Posted: 2007年11月25日(日) 15:02
  記事の件名:   引用付きで返信する
日本語変数の件、賛成です。


漢字も使えると便利だと思いますが、
幽霊文字や外国の文字・記号・数字等の全角文字の扱いはどうしましょう?
変数名で=とか1とかは良くないと思うのですが。
投稿記事 Posted: 2007年11月25日(日) 10:34
  記事の件名:  変数に日本語を使用出来る様にして欲しい  引用付きで返信する
JavaScript,vba,HSP等は変数に日本語が使用出来るので、変数に対するコメントを記述する必要がなく重宝してます。
是非ABにも宜しくお願いいたします。
投稿記事 Posted: 2007年11月25日(日) 06:37

全ての表示時間は UTC+09:00 です


ページ移動:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Japanese translation principally by ocean