antlr, DSL,

来源:互联网 发布:java多线程的作用 编辑:程序博客网 时间:2024/05/18 02:52

讲师:施懿民-上海知平信息技术有限公司创始人

上海知平信息技术有限公司创始人,专注于基于SAAS的CRM和企业管理系统开发。 在创建知平信息技术之前,在文思海辉集团工作多年,主要工作在微软.NET虚拟机CLR以及基础类库的开发工作。 

新浪微博:@施懿民 

博客:http://www.cnblogs.com/killmyday 

出版物:

应用程序调试技术 http://product.china-pub.com/3502685

应用程序调试技术之Java篇 http://product.china-pub.com/3502718

分享主题:

使用 Antlr 开发领域语言(DSL)


Antlr 简介

  1. ANTLR 语言识别的一个工具 (ANother Tool for Language Recognition ) 当你开发一种新语言时,他是一个助手
  2. ANTLR是一种语言工具,它提供了一个框架,可以通过包含 Java, C++, 或 C# 动作(action)的语法描述来构造语言识别器,编译器和解释器。 计算机语言的解析已经变成了一种非常普遍的工作,在这方面的理论和工具经过近 40 年的发展已经相当成熟,使用 Antlr 等识别工具来识别,解析,构造编译器比手工编程更加容易,同时开发的程序也更易于维护。
  3. 语言识别的工具有很多种,比如大名鼎鼎的 Lex 和 YACC,Linux 中有他们的开源版本,分别是 Flex 和 Bison。在 Java 社区里,除了 Antlr 外,语言识别工具还有 dropincc.java,JavaCC 和 SableCC 等。
  4. 和大多数语言识别工具一样,Antlr 使用上下文无关文法描述语言。最新的 Antlr 是一个基于 LL(*) 的语言识别器。在 Antlr 中通过解析用户自定义的上下文无关文法,自动生成词法分析器 (Lexer)、语法分析器 (Parser) 和树分析器 (Tree Parser)。
语言开发完以后还要考虑IDE,可以考虑在  eclipse或者visual Studio基础上面做插件开发。


0 0
原创粉丝点击