亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? string_misc.pm

?? 對文件或目錄的操作函數模版.根據對目錄的分析結果對目錄進行深度或廣度遍歷從而操作文件(或目錄)
?? PM
?? 第 1 頁 / 共 2 頁
字號:
        $pos += $temp;
        return $pos;
    }

    while ($foreSubStr =~ m:\':g) {
        $openQuoted = !$openQuoted;
    }

    if ($openQuoted) {
        $rearSubStr = substr($line, $pos);
        $temp = 0;
        $temp = pos($rearSubStr) if ($rearSubStr =~ m:\':g);
        $pos += $temp;
        return $pos;
    }

    return 0;
}

# this is for C language: the delimiter are classified into 2 categoris:
#   one is "//" the other is "/* */". This subroutine judge whether a
# delimiter is enclosed with one kind of the delimiters.
sub isCommentDelimiter()
{
    my ($line, $delimiter, $innerDelimiter, $ret) = @_;

    #if no $line or no $delimiter return 0.
    return 0 if (!$line || !$delimiter);

    $innerDelimiter = '\/\/' if ($delimiter eq '/*');
    $innerDelimiter = '\/\*' if ($delimiter eq '//');

    return pos($line) if ($line =~ m/$innerDelimiter/g);

    #this extra branch is for string like this [a = 1; //str..//nest comment]
    if ($delimiter eq '//') {
        return pos($line) if ($line =~ m:\/\/:g);
    }

    return 0;
}

# calculate the nest bracket-"{" count.
# param0
#   -[in]: a perl language line without comment.
# param1
#   -[in|out]: when as a [in] param it is the nest bracket level before the
#         line while as a [out] param it is the level after this line is parsed.
# return
#    the last bracket position in this line.
sub calBracket()
{
    my ($line, $refCount) = @_;
    my ($openBracketPos, $closureBracketPos, $temp) = (0, 0);

    return 0 if (!$line or !$refCount);

    return 0 if (ref($refCount) ne "SCALAR");

    $temp = $line;
    $openBracketPos = pos($temp) if ($temp =~ m\{\g);
    $temp = $line;
    $closureBracketPos = pos($temp) if ($temp =~ m\}\g);

    return 0 if (0 == $openBracketPos && 0 == $closureBracketPos);

    if (0 == $openBracketPos) {
        --$$refCount;
        $line = substr($line, $closureBracketPos);
        while ($line =~ m/}/g) {
            $temp = pos($line);
            $closureBracketPos += $temp;
            --$$refCount;
            $line = substr($line, $temp);
        }

        return $closureBracketPos;
    }
    elsif (0 == $closureBracketPos){
        ++$$refCount;
        $line = substr($line, $openBracketPos);
        while ($line =~ m/{/g) {
            $temp = pos($line);
            $openBracketPos += $temp;
            ++$$refCount;
            $line = substr($line, $temp);
        }

        return $openBracketPos;
    }

    if ($openBracketPos < $closureBracketPos) {
        #the first bracket is open bracket.
        $temp = substr($line, $openBracketPos);
        ++$$refCount;
        return  $openBracketPos + &calBracket($temp, \$$refCount);
    }
    else {
        #the first bracket is closure bracket.
        $temp = substr($line, $closureBracketPos);
        --$$refCount;
        return $closureBracketPos + &calBracket($temp, \$$refCount);
    }
}

# estimate whethere the C file comment delimiter "//", "/*" or "*/" is quoted.
#param
#   -[in]: the whole line string where comment delimiter lies in.
#   -[in]: the delimiter: "//", "/*" or "*/".
#return value
#   - 0: the delimiter is not quoted.
#   - else return the position of the second quotation mark in the whole line.
sub isQuotedDelimiter()
{
    my ($line, $delimiter) = @_;
    my ($foreSubStr, $rearSubStr, $singleQuote, $temp, $ret);

    #if no $line or no $delimiter return 0.
    return 0 if (!$line || !$delimiter);

    $delimiter = '\/\*' if ($delimiter eq '/*');
    $delimiter = '\/\/' if ($delimiter eq '//');

    #return 0 if $line contains no $delimiter.
    if ($line =~ /$delimiter/g) {
        #why use //g midifier? 'Cause to loacte the delimiter with pos().
        $ret = pos($line);
        $foreSubStr = substr($line, 0, $ret);
    }
    return 0 if (!$foreSubStr);

    $singleQuote = 0;
    while ($foreSubStr =~ m:\":g) {
        $singleQuote = !$singleQuote;
    }

    if ($singleQuote) {
        $rearSubStr = substr($line, $ret);
        $temp = 0;
        while ($rearSubStr =~ m:\":g) {
            $temp = pos($rearSubStr);
        }
        $ret += $temp;
        return $ret;
    }

    while ($foreSubStr =~ m:\':g) {
        $singleQuote = !$singleQuote;
    }

    if ($singleQuote) {
        $rearSubStr = substr($line, $ret);
        $temp = 0;
        while ($rearSubStr =~ m:\':g) {
            $temp = pos($rearSubStr);
        }
        $ret += $temp;
        return $ret;
    }

    return 0;
}

# C language commnet: "//" --> "/* any comment */". So comply with ansi.
#
# param0
#   - [in]: a open file handle.
# param1
#   - [in]: a referenced string.
# param2
#   - [in]: whether the line is being with comment which succeesive to last line.
#
# return value:
#   - bCommentFromBegin
sub convertslash2asterisk()
{
    my ($fileHandle, $line, $bCommentFromBegin, $temp) = @_;

    if ($bCommentFromBegin) {
        # comment_from_last_line */int a;
        if ($line =~ m:^(.*)\*\/(.*):g) {
            $temp = $1 . "\*\/";
            print $fileHandle $temp;

            $line = $2 . "\n";
            $bCommentFromBegin = 0;
            goto section if ($line);
            return $bCommentFromBegin;
        }
        else {
            print $fileHandle $line;
            return 1;
        }
    }
    else {
        # "    "//this is comment
        if ($line =~ m/^(\s*)\/\/(.*)/) {
            print $fileHandle $1 if $1;
            print $fileHandle '/*';
            if ($2) {
                $temp = $2;
                if ($temp =~ m/\*\/$/) {
                    print $fileHandle "$temp\n";
                }
                else {
                    print $fileHandle "$temp\*\/\n";
                }
            }
            else {
                print $fileHandle "\*\/\n";
            }

            return 0;
        }

        # "http//:www.google.com" or "every string // .. other". In brief,
        # a "//" in the ["  "] or in [' '].
        $temp = &isQuotedDelimiter($line, '//');
        if ($temp) {
            print $fileHandle substr($line, 0, $temp);
            $line = substr($line, $temp);
            goto section;
        }

        # printf("/* this is a comment example"). In brief,
        # a "/*" in the ["  "] or in [' '].
        $temp = &isQuotedDelimiter($line, '/*');
        if ($temp) {
            print $fileHandle substr($line, 0, $temp);
            $line = substr($line, $temp);
            goto section;
        }

        # int a; ... //
        if ($line =~ m:^(.*)\/\/(.*):g) {
            if ($1) {
                $temp = &isCommentDelimiter($1, '//');
                if ($temp) {
                    if ($1 =~ m/^\/\//) {
                        # "//abc" --> "/*abc"
                        substr($line, 1, 1) = '*';
                    }
                    else {
                        # "abc; //123 ..//any .."  -> "abc; /*123 ..//any .."
                        substr($line, $temp -1, 1) = '*';
                    }

                    if (not $line =~ m/\*\/\n$/) {
                        substr($line, length($line) - 1, 1) = "\*\/\n";
                    }
                    print $fileHandle $line;
                    return 0;
                }
                else {
                    print $fileHandle "$1";
                }
            }

            if ($2) {
                $temp = "\/\*" . $2;
                if ($2 =~ m/\*\/$/) {
                    $temp .= "\n";
                }
                else {
                    $temp .= "\*\/\n";
                }
                print $fileHandle $temp;
            }
            else {
                print $fileHandle "\n";
            }

            return 0;
        }

        # int a; ... /* some comment. */
        if ($line =~ m:^(.*)\/\*(.*):g) {
            print $fileHandle $1 if ($1);

            print $fileHandle "\/\*";

            $bCommentFromBegin = 1;
            if ($2) {
                $line = $2 . "\n";
                goto section;
            }
            else {
                print $fileHandle "\n";
                return $bCommentFromBegin;
            }
        }

        print $fileHandle "$line";
        return 0;
    }

section:
    &convertslash2asterisk($fileHandle, $line, $bCommentFromBegin);
}

return 1;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产在线一区观看| 日韩精品色哟哟| 久久亚洲二区三区| 日韩一二三区视频| 日韩欧美你懂的| 欧美电影免费观看高清完整版 | 亚洲自拍与偷拍| 亚洲综合一区在线| 亚洲国产视频a| 天天影视网天天综合色在线播放| 亚洲二区在线观看| 日韩福利视频导航| 精彩视频一区二区三区| 韩国视频一区二区| 丁香一区二区三区| 色综合久久天天综合网| 在线观看日产精品| 91精品久久久久久久91蜜桃| 日韩亚洲欧美在线观看| 久久久午夜精品理论片中文字幕| 国产欧美精品一区aⅴ影院| 亚洲欧洲色图综合| 亚洲va天堂va国产va久| 国产在线看一区| 99精品一区二区三区| 欧美色成人综合| 精品电影一区二区| 亚洲欧美偷拍另类a∨色屁股| 夜夜亚洲天天久久| 九九九久久久精品| 国产精品一区二区久久不卡 | 亚洲色图在线播放| 亚洲高清在线精品| 国产91丝袜在线播放0| 欧美午夜免费电影| 国产欧美日韩一区二区三区在线观看| 亚洲精品国产精品乱码不99| 久久激情综合网| 91久久久免费一区二区| 久久众筹精品私拍模特| 亚洲综合在线免费观看| 国产精品一卡二卡在线观看| 欧美视频在线播放| 亚洲欧洲成人自拍| 久久精品久久99精品久久| 91香蕉视频mp4| 久久―日本道色综合久久| 亚洲午夜免费电影| 成人中文字幕合集| 欧美一区二区视频在线观看| 亚洲色图制服丝袜| 成人性生交大片免费看中文网站| 91精品国产色综合久久ai换脸| 久久精品在这里| 蜜桃视频免费观看一区| 在线观看日韩一区| 国产精品久久久久久亚洲伦| 久久精品久久综合| 91精品在线麻豆| 亚洲成人自拍一区| 在线影院国内精品| 亚洲二区在线观看| 99re8在线精品视频免费播放| 精品国内二区三区| 日韩精品乱码av一区二区| 欧美午夜精品理论片a级按摩| 国产精品无码永久免费888| 国内精品在线播放| xvideos.蜜桃一区二区| 久久激情五月婷婷| 日韩免费一区二区三区在线播放| 日本特黄久久久高潮| 精品视频在线看| 亚洲午夜在线电影| 欧美日韩精品一区二区| 亚洲午夜久久久久久久久电影院| 91亚洲精品久久久蜜桃| 亚洲天堂精品视频| 一本到不卡精品视频在线观看| 国产精品入口麻豆九色| 99国产欧美另类久久久精品| 最新欧美精品一区二区三区| 91在线免费视频观看| 亚洲女同一区二区| 欧美亚洲愉拍一区二区| 亚洲国产精品久久久久秋霞影院 | 日韩欧美黄色影院| 激情综合亚洲精品| 国产日韩高清在线| 波多野结衣在线aⅴ中文字幕不卡| 国产精品视频麻豆| 色狠狠av一区二区三区| 日韩中文字幕一区二区三区| 欧美一区二区成人6969| 国产精品亚洲成人| 中文字幕一区二区三中文字幕| 一本大道av一区二区在线播放| 亚洲一区在线视频| 精品国产乱码久久久久久久 | 欧美影院一区二区| 久久精品99国产精品日本| 久久久91精品国产一区二区三区| 成人午夜在线视频| 亚洲午夜国产一区99re久久| 日韩欧美123| 91香蕉视频mp4| 日本免费在线视频不卡一不卡二| 国产三级三级三级精品8ⅰ区| 91视频精品在这里| 男女男精品视频网| 亚洲日本电影在线| 欧美成人精精品一区二区频| 99re在线视频这里只有精品| 久久爱www久久做| 亚洲精品久久嫩草网站秘色| 欧美成人aa大片| 欧美亚洲日本一区| 国产成人啪免费观看软件| 亚洲五月六月丁香激情| 欧美激情一区二区三区在线| 91精品国产色综合久久久蜜香臀| 成人午夜大片免费观看| 青青青爽久久午夜综合久久午夜| 日韩一区欧美小说| 欧美精品一区二区高清在线观看 | 日韩精品亚洲专区| 黄一区二区三区| 亚洲一区二区三区三| 久久综合精品国产一区二区三区| 91丝袜呻吟高潮美腿白嫩在线观看| 蜜臀av在线播放一区二区三区| 国产精品福利在线播放| 91美女视频网站| 国产高清精品网站| 九九精品视频在线看| 亚洲动漫第一页| 一区二区三区在线观看视频| 国产精品久久久久久久蜜臀 | 国产精品区一区二区三区| 日韩免费一区二区三区在线播放| 欧美亚洲一区三区| 91久久国产最好的精华液| av在线不卡电影| 国产成人精品免费网站| 激情深爱一区二区| 久久精品国产亚洲一区二区三区| 午夜精品免费在线| 亚洲一区免费视频| 亚洲观看高清完整版在线观看| 一区二区三区四区不卡在线| 亚洲美女电影在线| 亚洲午夜在线观看视频在线| 亚洲一区二区三区影院| 亚洲午夜久久久久中文字幕久| 亚洲一区二区中文在线| 亚洲福利一区二区| 五月天欧美精品| 日本免费在线视频不卡一不卡二| 日韩成人伦理电影在线观看| 秋霞午夜av一区二区三区| 日日夜夜精品视频免费| 捆绑调教一区二区三区| 国产精品99久久久久久似苏梦涵 | 国产精品久久久久影视| 国产精品你懂的在线| 国产精品久久久久永久免费观看| 亚洲色图视频网站| 一区二区三区鲁丝不卡| 婷婷开心激情综合| 美腿丝袜亚洲色图| 大桥未久av一区二区三区中文| www.66久久| 欧美丝袜第三区| 精品国产网站在线观看| 久久精品欧美日韩精品| 亚洲欧美日韩在线| 日韩经典中文字幕一区| 国产不卡免费视频| 一本久久a久久免费精品不卡| 91九色最新地址| 欧美成人综合网站| 国产日韩精品一区二区浪潮av | 日韩天堂在线观看| 中文字幕av资源一区| 一区二区三区欧美视频| 免费成人小视频| 99久久免费精品高清特色大片| 欧美专区日韩专区| 久久综合久色欧美综合狠狠| 国产精品高潮呻吟| 奇米影视在线99精品| 成人动漫av在线| 欧美一级午夜免费电影| 亚洲视频在线一区| 久草中文综合在线| 欧美性大战久久久久久久蜜臀| 久久亚洲免费视频| 亚洲va国产天堂va久久en| 成人一道本在线| 日韩女优电影在线观看|