HOME

{ javascript : ソースコードハイライト表示 }

{ svg, javascript で作成したプログラム一覧 }

推奨 ブラウザ : chrome

ソースコードをハイライト表示するプログラム、、5回以上書き直してたりします。
{ javascript,css,html ソースコードハイライト表示 }
{ ソースコードのハイライト表示 ( β ) : javascript }
{ ソースコードハイライト表示 ( β : 02 ) : javascript }

最初のと比べてたら、表示までの時間や文字列への色の着色など、だいぶ、らしくはなってきましたが、、、。
前回のプログラムまでは、HTML, CSS のソースコードもハイライト表示してましたが、ちょっと欲張り過ぎみたいです。
javascript だけでも書く度に、気づく事があり、それを踏まえて書き直ししているつもりなのですが、
プログラムを実行してみて、「あっ!」これじゃダメじゃん。。の繰り返しです。
コードからキーワードを抽出するのに正規表現を使ったり、
一文字づつ読んで文字列の区切りでの処理等を試しました。
確認した範囲では、一文字づつ読んで処理する方法が書き出しまでの時間が短いようです。
一文字づつ読み込む方法では、正規表現で文字列を検索するコードが来た場合、
ソースコードの先読みが必要になるようです。
ブロックコメントや、インラインコメントでも先読みして処理していましたが、
一文字先を読めば、判断が出来ました。
しかし、正規表現の検索コードでは、その判断が出来ません。
スラッシュが割り算の記号なのか、正規表現の記号なのかは、
次に出現するスラッシュの前がバックスラッシュ以外スラッシュ?で正規表現の検索文字列になるようです。
ん?
ん?
スラッシュの前が、空白を除く = { ( [ : ? , ; の場合は、正規表現の検索コード?
終わりは、スラッシュの前がバックスラッシュ以外スラッシュ?であとは、オプション?
ん?あってるのかな?
javascript にも色んな書き方があるので、分かる範囲で、今度、試してみます。
あーーーーーっ、一文字づつ読む方法で、正規表現の検索コードの判断出来ないと思ってました。
無駄に正規表現を使ったプログラムを幾つも。。。
とりあえず、以前作成したプログラムと表示までの時間を比べてみたので、その結果のっけときます。_(:3」∠)_
今度のは、変数の型(String, Object, Boolean, Number 等)で、
文字列の色を指定しています。

正規表現の検索コードも一文字つづ読んで処理するように書き直してみました。
テストした範囲では、うまく処理できているようです。
正規表現は、フラグの判定とタグ記号の書き換えのみの使用になりました。
あたりまえですが、処理時間は短くなりました。
処理速度の比較は下にのっけています。

一文字づつ読んで処理(正規表現の使用は、フラグの判定とタグ記号の書き換えのみ)

一文字づつ読んで処理(正規表現の使用は、フラグの判定とタグ記号の書き換えのみ)

一文字づつ読んで、正規表現、コメント、囲み文字等の文字列抽出は正規表現で処理

一文字づつ読んで、正規表現、コメント、囲み文字等の文字列抽出は正規表現で処理

ソースコードの先頭から正規表現にマッチさせて処理

ソースコードの先頭から正規表現にマッチさせて処理

正規表現で文字列抽出後、配列を利用して処理

正規表現で文字列抽出後、配列を利用して処理

数学の勉強をやり直ししてたりします。_´ω`)_