早速のアドバイス、ありがとうございますm(__)m
引用:
やっぱりソース行が多いときのエラー行の誤表示を何とかしてほしいですね。
ある程度は自分で判断できるので問題ないのですが、きっちり書いている所ではエラー部分を発見しにくいですしね。
私も何度かそういう事態に遭遇しますf(^^;;;
その都度、悪い部分は直しているのですが、手が行き届いておらないようですな。
AB4に搭載されるコンパイラのソースコードが、解析部とコード生成部がごちゃまぜになっているので、そこらを修復しながらの64コンパイラ製作となっています。普通は順序が逆(32コンパイラの熟成→64コンパイラ)じゃないの?と思われるかもしれませんが、64コンパイラは今の時期にどうしても完成させたいので、どうかご理解をいただきたいものです。
64コンパイラの製作で培った技術を元に、32コンパイラの高速化、信頼性の向上を目指したいと思います。時期的には、64コンパイラの開発が落ち着く、来年春(早ければ1月~)を予定しております。
引用:
A=Int(Asc(Str$(A))+Rnd()*A+・・・というように同じ変数を複数回、違う関数で使い分けている行があるとして、この行にエラーがあるとすると・・・ドコがエラーかを考えるだけで頭が痛くなったりするかもしれません。
詳細なエラー表示に関しましても、今後の修復課題の一つとして認識しております。エラーとして引っかかる関数名、変数名、パラメータ番号などを明確に表記するように改良しようと思います。
引用:
私はab4apiという定義ファイル群を公開していますが、
全部インクルードするとコンパイルが完了するまで20秒近くかかり、
エラーでも出ると表示されるエラー箇所と実際のエラー箇所に200行近い
ずれが発生してしまいます。
エラー箇所のずれに関しては、状況が確実なものであれば、詳細をメールでご連絡していただけると助かります。早急に対応しますので…
コンパイル時間に関しては、改良の余地ありですね。ABは「1プロジェクト = 複数ファイル」という状況を想定しているので、ファイル単位でのコンパイルを実現させたいところです。中間コード生成だけでも、ファイル単位で高速化させたいものですね。
引用:
上の場合、2回のNextを忘れていますが、「End If」の行について「If に対する End If が見つからない」「文法が間違っている」というエラーも同時に出ます。
私の場合、1000行を超えるプログラムを書く時にこういうことがあると「どこがおかしいんだ…」となることがあります(If と End If の間が数百行になる[=1画面に収まらない]ことがあるので、自分で入力していっても結構対応関係がおかしくなっていたり^^;)。
無理なお願いかもしれませんが…。
なかなか難しい問題です。エラー行がずれてしまうのはバグなのですが、ステートメントの相互関係の矛盾に関しては、どうしても複数の箇所でエラーとして検出されてしまいがちです。検討課題は山済みです…(涙
引用:
話題は変わりますが。
やはりもっと速度が欲しいというのが本音ですね
ですよねぇ!64コンパイラではレジスタ割付がちゃんと行われるので、スタックベースの・・・とはならないのでご安心ください。できれば、その手法で32コンパイラの改良も行いたいところです。AB5では32/64コンパイラ共々、最適化(最低限レベルのものですが)は提供したいところです。
引用:
思い切ってライブラリ開発などを開放してほしいです。
山本様一人での開発も大変でしょうし、アンケートも今のところライブラリの充実に最も票が集まっていますし。
ライブラリに関しては、いち早く、やる気と技量のあるユーザーさんと共同開発を行いたいところです。どのような環境にするのが一番望ましいのでしょうか…?具体案を皆さんにお聞きしたいところです。ライブラリはABパッケージに含まれる形ではありますが、AB言語で書かれているため、目に見える形になっているので、物理的には改良&拡張は簡単だと思います。
協力体制うんぬんというより、第三者の方がライブラリをどのような形でABパッケージに提供させるのかが、なかなか思いつかないんですよね。せいぜい、私にメールしていただいて、、、という形になるんでしょうか…(それじゃ今とあんま変わらないかも)。
引用:
邪魔と感じるのでオプションのフォントダイアログに@付きの横向きフォントを非表示にしてほしいです。CF_NOVERTFONTSフラグだと思います。
了解しました。次回のバージョンアップで修正しておきます。