教程中国
PHOTOSHOP CS9.0中文版 MAYA 8.5 FOR WINDOWS Corel Painter v9.0 Flash MX2004 中文版 Illustrator cs2 中文版
VC++6.0含sp6 中英文版 VB6.0 +sp6 简体中文版 Borland Delphi 7汉化版 MSDN for vb6.0中文版 Visual Studio 2005简体
教程中国下属 文件存储共享专家BIBIDU.COM 提供大型软件,教材,源码,电影,音乐,图书等下载 更多精品请点此进入
  您目前所在位置: 教程中国 >> .NET类 >> VB.NET >> 完整的VB.NET的语法解析程序 RSS订阅
完整的VB.NET的语法解析程序
教程(视频,书籍)下载:  ASP.NET AutoCAD 数据库 C# ASP java photoshop 网页设计 delphi 3dmax Flash C++ VB 张孝祥 实例   更多请进入BIBIDU搜索
IT搜索引擎   

支持全部的关键字,直接就可以用了。
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()
{
//
// TOD 在此处添加构造函数逻辑
//
}



/// <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;
}
}
}

来源:十度教育
作者:
关键字:完整,VB.NET,语法解析程序
发表日期:2006-8-5 21:36:49

网页显示有限 阅读全文请下载本文完整版WORD文档

上一篇:使用VB.NET开发定制控件   下一篇:浅析Visual Basic.NET中的资源使用


2008-8-30 6:08:12
本文的相类似文章
  • 已知外部程序的hWnd,获取它的完整路径
  • NOKIA2100的完整制作流程
  • VB下Jmail邮件完整使用案例
  • 防止SQL注入完整ASP代码
  • Transaction的完整性控制,实现仅COMMIT一部份数据
  • Oracle数据的完整性的嵌套事务调用的研究
  • Powerdesigner使用建议(完整版)
  • Oracle9iAS——最完整的应用服务器
  • Oracle数据库为了数据的完整性的嵌套事务调用的研究
  • Oracle安全全接触(完整版)二
  • 在学习中进步 在进步中成长 教程中国相随您的成长之路
    华腾联合科技股份有限公司版权所有
    广告联系:Rosibo@163.com