• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    完整的VB.NET的語法解析程序

    發布: 2008-4-09 15:11 | 作者: blood | 來源: programfan | 查看: 107次 | 進入軟件測試論壇討論

    領測軟件測試網  比較長,不過支持全部的關鍵字,直接就可以用了。

    using System;
    using System.Text;
    using System.Text.RegularExpressions;

    namespace Com.OSLeague.Component
    {
    /// <summary>
    /// 語法分析器,將所有Code根據語法進行變色
    /// <list type="VB">支持VB.NET</list>
    /// <list type="CS">支持CS</list>
    /// <author>掉掉</author>
    /// <date>2002年5月14日</date>
    /// <Memo>
    /// 練習正則表達式
    /// </Memo>
    /// </summary>
    public class CodeAnalysis
    {

    //
    //定義HTML開始和結束的語句,用于語法變色
    //

    const string TAG_FNTRED = @"<font color=""red"">";
    const string TAG_FNTBLUE = @"<font color=""blue"">" ;
    const string TAG_FNTGRN = @"<font color=""green"">" ;
    const string TAG_FNTMRN = @"<font color=""maroon"">" ;
    const string TAG_FNTBLACK = @"<font color=""black"">" ;
    const string TAG_EFONT = @"</font>" ;
    const string TAG_SPNYELLOW = @"<span style=""background-color: yellow;"">";
    const string TAG_ESPAN = @"</span>";
    const string TAG_B = @"<b>";
    const string TAG_EB = @"</b>";
    const string TAG_COMMENT = @"<font colr=#008200>";
    const string TAG_ECOMMENT = @"</font>";

    //

    public CodeAnalysis()
    {
    //
    // TODO: 在此處添加構造函數邏輯
    //
    }

    /// <summary>
    /// 處理VB.NET代碼,彩色化..
    /// </summary>
    /// <param name="Code">傳入的Code</param>
    /// <returns>處理過后的代碼</returns>
    public string ParseVB(string Code)
    {
    //
    //定義VB.NET中關鍵字,將其存為數組
    //

    string[] VB_Keyword = new string[]
    {
    "AddHandler","AddressOf","AndAlso","Alias","And","Ansi","As","Assembly","Auto","Boolean",
    "ByRef","Byte","ByVal","Call","Case","Catch","CBool","CByte","CChar",
    "CDate","CDec","CDbl","Char","CInt","Class","CLng","CObj","Const",
    "CShort","CSng","CStr","CType","Date","Decimal","Declare","Default",
    "Delegate","Dim","DirectCast","Do","Double","Each","Else","ElseIf","End",
    "Enum","Erase","Error","Event","Exit","False",
    "Finally","For","Friend","Function","Get","GetType","GoTo","Handles","If",
    "Implements","Imports","In","Inherits","Integer","Interface",
    "Is","Let","Lib","Like","Long","Loop","Me","Mod","Module",
    "MustInherit","MustOverride","MyBase","MyClass","Namespace","New","Next","Not","Nothing",
    "NotInheritable","NotOverridable","Object","On","Option","Optional","Or","OrElse",
    "Overloads","Overridable","Overrides","ParamArray","Preserve","Private","Property","Protected","Public",
    "RaiseEvent","ReadOnly","ReDim","RemoveHandler","Resume","Return",
    "Select","Set","Shadows","Shared","Short","Single","Static","Step","Stop",
    "String","Structure","Sub","SyncLock","Then","Throw",
    "To","True","Try","TypeOf","Unicode","Until","Variant","When","While",
    "With","WithEvents","WriteOnly","Xor"
    };

    //
    //設定轉換代碼顏色
    //

    string ReplaceVBComment = TAG_COMMENT + "$1" + TAG_ECOMMENT;
    string ReplaceVBKeyword = TAG_FNTBLUE + "${char}" + TAG_EFONT;
    //開始轉換
    for (int i=0;i<VB_Keyword.Length;i++)
    {
    string TempDirectives = @"(?<char>(\s" + VB_Keyword[i] + "|" + VB_Keyword[i] + @"\s))";
    Code = Regex.Replace(Code,TempDirectives,ReplaceVBKeyword,RegexOptions.IgnoreCase);
    Code = Regex.Replace(Code,@"'(?<x>[^\r\n]*)",ReplaceVBComment);
    Code = Regex.Replace(Code,@"REM (?<x>[^\r\n]*)",ReplaceVBComment);
    }
    return Code;
    }
    }
    }

    文章來源于領測軟件測試網 http://www.kjueaiud.com/


    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>