★ソース最適化

「★ソース最適化」の編集履歴(バックアップ)一覧はこちら

★ソース最適化」(2010/01/21 (木) 18:27:57) の最新版変更点

追加された行は緑色になります。

削除された行は赤色になります。

*情報 作者名:fuji、五十六 引用元:[[なでしこプログラム掲示板「ソース高速HTML化」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=444&rev=&no=0]] 勝手に改変 *概要 ソースを最適化します。 具体的にはこんな変化があります。(↑が変化前 ↓が変化後) 「てすてす」 (『てすてす』) 「あいうえお{変数A}かきくけこ」。 (『あいうえお』&(変数A)&『かきくけこ』)。 これの作成にあたってfujiさんの[[★ソース高速HTML化]]を参考にさせて頂きました。 というかほとんど流用です。ごめんなさい。 *解説 ※最適化の効果を確認してみるプログラム 引用+改変:[[なでしこプログラム掲示板「メモリ不足??」ツリーより 焼きそばさんの検証プログラム>http://www.himanavi.net/cgi/nade-bbs2/cbbs.cgi?mode=one&number=7258&type=7250&space=120&no=0]] ほげほげ=「hoge ほげ ホゲ」。 A=システム時間。 100000回  親回数=回数  TEMP=「{母艦パス}てすてす{ほげほげ[0]}」。  もし、回数%1000=0ならば母艦のタイトルは回数。 A=システム時間-A。 「最適化前 {A}」を表示。 A=システム時間。 100000回  親回数=回数  TEMP=母艦パス&「てすてす」&ほげほげ[0]。  もし、回数%1000=0ならば母艦のタイトルは回数。 A=システム時間-A。 「最適化後 」&Aを表示。 ***引数 ソース:ソース本文(≠.nakoへの絶対パス) ***返り値 最適化されたソース *サンプルプログラム A=(「.nako」のファイル選択)を開く。 A=Aをソース最適化。 Aを言う。 *//本体 ●ソース最適化(ソースを|ソースの)   '定数   文字列色は"#000080"      # CR=CHR(13)      //「"”『``{{・/*##//'’※   囲み文字=`「 " ” `&"『 ` `"&` { { /* ・ # # // ' ’ ※`         閉じ文字=`」"”`&"』``"&`}}`#*/      囲み文字数=要素数(囲み文字)。 最初部分=「」 (ソース!=『』)の間      最小文字数=文字数(ソース)      番号=-1      囲み文字を反復        ソースで対象が何文字目。        もし、(それ<最小文字数)かつ(それ>0)なら          最小文字数=それ。          番号=回数-1          次囲み文字=対象。               #関数を探す      「●{~}■{~}*」を反復        ソースを"^\t* * *{対象}"で正規表現マッチ。        それ=それ\0。        もし、(それ<>「」)かつ(何文字目(ソース,それ)<最小文字数)なら          番号=囲み文字数+回数-1          次囲み文字=対象。      #次の囲み文字を言う。      もし、番号=-1なら、抜ける。#囲み文字が見つからなかった場合。      ソースの次囲み文字までを切り取る。      最初部分=最初部分&それ。            #囲み文字に応じて切り取り      もし、番号<=9ならば        もし、番号<=8ならば、          もし、番号=8ならば            次閉じ文字="*/"          違えば            次閉じ文字=MID(閉じ文字,番号+1,1)        違えば、          もし、(何文字目(ソース," "))<(何文字目(ソース,改行))ならば            次閉じ文字=" "          違えば            次閉じ文字=改行。      違えば、次閉じ文字=改行            もし、次閉じ文字=改行なら、         ソースの改行までを切り取る。         切り取り部分=「{次囲み文字}{それ}」         ソース=改行&ソース      違えば、         ソースの次閉じ文字までを切り取る。         切り取り部分=「{次囲み文字}{それ}{次閉じ文字}」。            もし、番号<6なら        //ここから文字列        文字列判定=切り取り部分の1から1文字抜き出す。        もし、(文字列判定=『「』)ならば          切り取り部分=切り取り部分の『{』を`』&(`に置換。          切り取り部分=切り取り部分の『}』を`)&『`に置換。          切り取り部分=切り取り部分の『{』を`』&(`に置換。          切り取り部分=切り取り部分の『}』を`)&『`に置換。          切り取り部分の1から1文字削除。切り取り部分=`(『`&切り取り部分。          切り取り部分から1文字右端削除。切り取り部分=切り取り部分&`』)`。          切り取り部分=切り取り部分の`&『』&`を空に置換。          切り取り部分=切り取り部分の`『』&`を空に置換。          切り取り部分=切り取り部分の`&『』`を空に置換。          もし、(切り取り部分の1から2文字抜き出す=「((」)かつ(切り取り部分から2文字右部分=「))」)ならば            切り取り部分の1から1文字削除。切り取り部分から1文字右端削除。                  もし、(文字列判定=『"』)ならば          切り取り部分=切り取り部分の『{』を『`&(』に置換。          切り取り部分=切り取り部分の『}』を『)&`』に置換。          切り取り部分=切り取り部分の『{』を『`&(』に置換。          切り取り部分=切り取り部分の『}』を『)&`』に置換。          切り取り部分の1から1文字削除。切り取り部分=『(`』&切り取り部分。          切り取り部分から1文字右端削除。切り取り部分=切り取り部分&『`)』。          切り取り部分=切り取り部分の『&``&』を空に置換。          切り取り部分=切り取り部分の『``&』を空に置換。          切り取り部分=切り取り部分の『``&』を空に置換。          もし、(切り取り部分の1から2文字抜き出す=「((」)かつ(切り取り部分から2文字右部分=「))」)ならば            切り取り部分の1から1文字削除。切り取り部分から1文字右端削除。                  最初部分=最初部分&切り取り部分。         完成文=最初部分&ソース。   完成文を戻す。 ---- - WinAPI利用してるとソースがむちゃくちゃになるかも・・・いずれ直します -- 管理人 (2009-01-06 22:27:21) #comment() ----
*情報 作者名:fuji、五十六 引用元:[[なでしこプログラム掲示板「ソース高速HTML化」>http://www.himanavi.net/cgi/nade-bbs/cbbs.cgi?mode=al2&namber=444&rev=&no=0]] 勝手に改変 *概要 ソースを最適化します。 具体的にはこんな変化があります。(↑が変化前 ↓が変化後) 「てすてす」 (『てすてす』) 「あいうえお{変数A}かきくけこ」。 (『あいうえお』&(変数A)&『かきくけこ』)。 これの作成にあたってfujiさんの[[★ソース高速HTML化]]を参考にさせて頂きました。 というかほとんど流用です。ごめんなさい。 *解説 ※最適化の効果を確認してみるプログラム 引用+改変:[[なでしこプログラム掲示板「メモリ不足??」ツリーより 焼きそばさんの検証プログラム>http://www.himanavi.net/cgi/nade-bbs2/cbbs.cgi?mode=one&number=7258&type=7250&space=120&no=0]] ほげほげ=「hoge ほげ ホゲ」。 A=システム時間。 100000回  親回数=回数  TEMP=「{母艦パス}てすてす{ほげほげ[0]}」。  もし、回数%1000=0ならば母艦のタイトルは回数。 A=システム時間-A。 「最適化前 {A}」を表示。 A=システム時間。 100000回  親回数=回数  TEMP=母艦パス&「てすてす」&ほげほげ[0]。  もし、回数%1000=0ならば母艦のタイトルは回数。 A=システム時間-A。 「最適化後 」&Aを表示。 ***引数 ソース:ソース本文(≠.nakoへの絶対パス) ***返り値 最適化されたソース *サンプルプログラム A=(「.nako」のファイル選択)を開く。 A=Aをソース最適化。 Aを言う。 *//本体 ●ソース最適化(ソースを|ソースの)   '定数   文字列色は"#000080"      # CR=CHR(13)      //「"”『``{{・/*##//'’※   囲み文字=`「 " ” `&"『 ` `"&` { { /* ・ # # // ' ’ ※`         閉じ文字=`」"”`&"』``"&`}}`#*/      囲み文字数=要素数(囲み文字)。 最初部分=「」 (ソース!=『』)の間      最小文字数=文字数(ソース)      番号=-1      囲み文字を反復        ソースで対象が何文字目。        もし、(それ<最小文字数)かつ(それ>0)なら          最小文字数=それ。          番号=回数-1          次囲み文字=対象。               #関数を探す      「●{~}■{~}*」を反復        ソースを"^\t* * *{対象}"で正規表現マッチ。        それ=それ\0。        もし、(それ<>「」)かつ(何文字目(ソース,それ)<最小文字数)なら          番号=囲み文字数+回数-1          次囲み文字=対象。      #次の囲み文字を言う。      もし、番号=-1なら、抜ける。#囲み文字が見つからなかった場合。      ソースの次囲み文字までを切り取る。      最初部分=最初部分&それ。            #囲み文字に応じて切り取り      もし、番号<=9ならば        もし、番号<=8ならば、          もし、番号=8ならば            次閉じ文字="*/"          違えば            次閉じ文字=MID(閉じ文字,番号+1,1)        違えば、          もし、(何文字目(ソース," "))<(何文字目(ソース,改行))ならば            次閉じ文字=" "          違えば            次閉じ文字=改行。      違えば、次閉じ文字=改行            もし、次閉じ文字=改行なら、         ソースの改行までを切り取る。         切り取り部分=「{次囲み文字}{それ}」         ソース=改行&ソース      違えば、         ソースの次閉じ文字までを切り取る。         切り取り部分=「{次囲み文字}{それ}{次閉じ文字}」。            もし、番号<6なら        //ここから文字列        文字列判定=切り取り部分の1から1文字抜き出す。        もし、(文字列判定=『「』)ならば          切り取り部分=切り取り部分の『{』を`』&(`に置換。          切り取り部分=切り取り部分の『}』を`)&『`に置換。          切り取り部分=切り取り部分の『{』を`』&(`に置換。          切り取り部分=切り取り部分の『}』を`)&『`に置換。          切り取り部分の1から1文字削除。切り取り部分=`(『`&切り取り部分。          切り取り部分から1文字右端削除。切り取り部分=切り取り部分&`』)`。          切り取り部分=切り取り部分の`&『』&`を空に置換。          切り取り部分=切り取り部分の`『』&`を空に置換。          切り取り部分=切り取り部分の`&『』`を空に置換。          もし、(切り取り部分の1から2文字抜き出す=「((」)かつ(切り取り部分から2文字右部分=「))」)ならば            切り取り部分の1から1文字削除。切り取り部分から1文字右端削除。                  もし、(文字列判定=『"』)ならば          切り取り部分=切り取り部分の『{』を『`&(』に置換。          切り取り部分=切り取り部分の『}』を『)&`』に置換。          切り取り部分=切り取り部分の『{』を『`&(』に置換。          切り取り部分=切り取り部分の『}』を『)&`』に置換。          切り取り部分の1から1文字削除。切り取り部分=『(`』&切り取り部分。          切り取り部分から1文字右端削除。切り取り部分=切り取り部分&『`)』。          切り取り部分=切り取り部分の『&``&』を空に置換。          切り取り部分=切り取り部分の『``&』を空に置換。          切り取り部分=切り取り部分の『``&』を空に置換。          もし、(切り取り部分の1から2文字抜き出す=「((」)かつ(切り取り部分から2文字右部分=「))」)ならば            切り取り部分の1から1文字削除。切り取り部分から1文字右端削除。                  最初部分=最初部分&切り取り部分。         完成文=最初部分&ソース。   完成文を戻す。 ---- - WinAPI利用してるとソースがむちゃくちゃになるかも・・・いずれ直します -- 管理人 (2009-01-06 22:27:21) - http://www.example.com エラー -- http://www.example.com (2010-01-21 18:27:57) #comment() ----

表示オプション

横に並べて表示:
変化行の前後のみ表示:
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。