我们什么时候使用ANTLR

本文关键字:ANTLR 什么时候 我们 | 更新日期: 2023-09-27 18:06:44

谁能告诉我在ASP中使用ANTLR dll的目的?. Net, c#项目。

我刚刚注意到antlr.runtimeAntlr3。运行时, Antlr3。在某个项目中引用的实用程序程序集。

将是伟大的,如果能引用一些现实世界的例子或任何链接到一个网页将是有用的。

我们什么时候使用ANTLR

Antlr包被WebGrease包使用。web润滑脂包是由ASP. net使用的。. NET Web优化包。

如果要删除Antlr,请删除ASP。. NET Web优化包。它将依次删除其他2个包。

如果您的应用程序设计得当,它不会对性能产生太大影响。

ANTLR是一个解析器生成器,能够生成包括c#在内的多种语言的解析器。ANTLR主页在这里。

创作者Terence Parr还出版了一本书《The Definitive ANTLR Reference》

. NET Web优化包依赖于web润滑脂,而web润滑脂又依赖于Antlr。如果你想删除Antlr,你必须删除ASP。. NET网页优化。所以问题变成了:

ASP是什么?. NET Web优化包用于在一个新的MVC项目?

用于捆绑和最小化.css.js资源。在一个新的ASP。. NET MVC web项目中有一个名为/App_Start/BundleConfig.cs的文件,其中定义了包。例如:

bundles.Add(new ScriptBundle("~/bundles/jquery").Include("~/Scripts/jquery-{version}.js"));
bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/bootstrap.css", "~/Content/site.css"));
// etc.

/Views/Shared/_Layout.cshtml中,这些定义的束然后被添加到返回的视图中。

@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/jquery")

因此,如果你删除这些引用,你将不得不使用不同的策略/工具来捆绑/最小化你的依赖,如gulp与gulp-concat和gulp-uglify。

如果您在运行时使用antlr语法解析任何文本,则需要这些dll。

通常有两个步骤。

1)在你的。g文件上运行java antlr解析器,生成一个c#词法分析器,c#语法分析器,可能还有c#树遍历器。

2)将这些文件构建到应用程序中。这些文件将与ANTLR .runtime dll一起工作,如果您使用ANTLR版本3,则可以使用ANTLR .runtime dll。

您的c#程序现在可以使用您在步骤1中编译的语法解析文本文件。