強調表示定数No.02836
える さん 99/04/07 05:18
 
*.hilight ファイルの最初の定数についてですが、どこぞに記載されていますでしょ
うか?
適当に調べると

2**0 ... 常に1?
2**1 ... 特に強調する時に 1
2**2 ... 行を強調する時に 1
2**3 ... 大文字小文字の区別をしない時に 1
2**4 ... 正規表現が On の時に 1
2**5 ... 単語単位検索の時に 1
2**6 ... 強調の度合い(下の桁)
2**7 ... 強調の度合い(上の桁)

という感じなのですが、ありえない組み合わせにすると変な表示になったり…
特に 2**0 の bit の意味が知りたいのですが

# n ** m は n の m 乗 です。 perl などの演算子ね(^^;

[ ]
RE:02836 強調表示定数No.02837
番頭++ さん 99/04/07 10:44
 
> 特に 2**0 の bit の意味が知りたいのですが

常に 1 みたいです。

秀シリーズサポートフォーラム 秀丸エディタカラーバージョンβテスト

RE:01781 を参照してみては ...

[ ]
RE:02837 強調表示定数No.02840
える さん 99/04/07 13:08
 
>> 特に 2**0 の bit の意味が知りたいのですが
>常に 1 みたいです。

どうも!

>秀シリーズサポートフォーラム 秀丸エディタカラーバージョンβテスト
>RE:01781 を参照してみては ...

うーん、入り口が「秀 Term スクリプト作者会議室」って名前のが2つあって、下側
はβの時の内容が READ ONLY で置いてあるんですね。
気が付きませんでした。
# 良くみれば右にちゃんと書いてある

さて、問題になるのは

行の強調2 や 行の強調3
大文字小文字を区別しない正規表現

といった設定ができてしまいそうなのですが、どうなるんでしょう?
# 今、会社からなので実際に確認できないです

行の強調2 や 行の強調3 なんてのは設定しても無駄っぽいのですが、大文字小文
字を区別しない正規表現ってのはアリかも…?

関係ないことですが、

perl の単純な cut text に対応されてないのは…誰も気が付かなかったのでしょう
か?

perl (v5 以降)では、行頭が = でそれにアルファベットが続いていた場合、そのア
ルファベットの単語が cut になるまではすべてコメントにするというのがあるんで
すが…、秀丸 v3.00 のコメントの PERL では認識されなかったようです。

=title
  たいとーる
=author
  おなまえー
=usage
  つかいかたー
=cut

みたいなヤツですが、script と document の一体化の目的もあって、現在はほとん
どのモジュールがこの部位を持っていると思います。
β側では正規表現内のコメントとかツリーがありましたが、この形式のコメントは処
理なんか単純だと思うんですが。

[ ]
RE:02840 強調表示定数No.02847
番頭++ さん 99/04/07 17:47
 
> 行の強調2 や 行の強調3
> 大文字小文字を区別しない正規表現
>
> といった設定ができてしまいそうなのですが、どうなるんでしょう?

0x05        0000 0101   行の強調 1 のベース
0x08        0000 1000   大文字/小文字を区別しない
0x10        0001 0000   正規表現

で、OR をとると、0x1D の 29, になると思います。
それ以外を指定すると、むしされませんか ???

> perl の単純な cut text に対応されてないのは…誰も気が付かなかったのでしょうか?

perl のコメントに関する情報が、コメントを拡張されたβの時期には不足して
いたみたいで、perl のコメント、リテラル、パターンには完璧な色がついてい
ないみたいです。

[ ]
RE:02840 強調表示定数No.02853
秀丸担当 さん 99/04/07 17:50
 
>>> 特に 2**0 の bit の意味が知りたいのですが
>>常に 1 みたいです。

ここらへんの情報は、次のバージョンのマクロヘルプのあたりに
書きます。

>行の強調2 や 行の強調3
>大文字小文字を区別しない正規表現
>
>といった設定ができてしまいそうなのですが、どうなるんでしょう?
># 今、会社からなので実際に確認できないです

数値の上で出来てしまっても実際は動作しません。

>perl の単純な cut text に対応されてないのは…誰も気が付かなかったのでしょう
>か?

このコメント形式は考慮していません。
ということでこのコメントにも対応するかもしれないですが、詳しい仕様を
教えてください。

>perl (v5 以降)では、行頭が = でそれにアルファベットが続いていた場合、そのア
>ルファベットの単語が cut になるまではすべてコメントにするというのがあるんで

でいいのでしょうか。=の後がアルファベットで無い場合は関係ない?

[ ]
RE:02853 強調表示定数No.02857
える さん 99/04/07 19:28
 
>ということでこのコメントにも対応するかもしれないですが、詳しい仕様を教えて
ください。
>>perl (v5 以降)では、行頭が = でそれにアルファベットが続いていた場合、そのア
>>ルファベットの単語が cut になるまではすべてコメントにするというのがあるんで
>でいいのでしょうか。

perldoc perlsyntax すると

> if the compiler encounters a line that begins with an equal sign and a wor
d, like this
> =head 1 Here There Be Pods!
> Then that text and all remaining text up through and including a line begi
nning with =cut will be ignored.

と記載されています。

=cut の行は行末までコメント扱いですので、たとえば

=comment ここはすでにコメントです。

ここも、もちろんコメントです。
ここには =cut で開始しないあらゆる文章が記述できます。
perlpod マニュアルにある文法に従った記載を行うことでマニュアルの自動生成が可
能です。
Java の javadoc による /** 〜 */ コメントみたいなものです。
HTML や LaTeX 用の出力、PlainText 出力などなどがあります。

=cutting ここもまだコメントです。

print "ここはコードです。\n";

といった感じです。「=cut」を含んでいれば「=cut」でも「=cutend」でも一緒です。

= に続くのは有効な識別子とのことなので、アルファベット(大文字小文字区別な
し)で開始すればそれ以降は何であろうと問題なしです。
各種英記号はもちろん、日本語でさえ問題ありません。

=aコメント

これはコメントの開始として有効でした。

> =の後がアルファベットで無い場合は関係ない?

関係ないです。多くの場合は代入演算などになり、エラーを起こします。
逆に、上の状況をみたしていても、その直前が閉じていない式や文字列などであった


$a
=comment
ほげほげ
=cut
print $a;

のような記述はしっかりと $a=comment として動作します。
ほげほげ が「;」で開始し、perl の文法に違反してないなら、ほげほげ の部分を実
行します。
そうでない場合は syntax error となるでしょう。
# こんな書き方、する人いるのかな?


[ ]
RE:02857 強調表示定数No.02878
秀丸担当 さん 99/04/09 16:51
 
>perldoc perlsyntax すると

ありがとうございます。
参考にさせていただきます。


>$a
>=comment
>ほげほげ
>=cut
>print $a;
>
>のような記述はしっかりと $a=comment として動作します。

やるとしたら、この記述はたぶん無視してコメントにしてしまうです。

[ ]