Description: While studying electronic engineering and computer science, I participated in a compiler workshop where we had to write our own programming language. To view and analyse the syntax tree for a given program, I wrote a custom drawn tree component those days. The original component was written in Java and I thought it might be useful to have it as a CTreeCtrl derivate. In contrast to some other custom drawn tree controls at CodeProject, this one does not has its own data structure for representing the tree. This means that you do not have to write different code for inserting the tree items when you want to switch from CTreeCtrl. Because this control inherits from CTreeCtrl, it is very easy to activate the stock-functionality which draws the tree in the traditional way.-While studying an electronic engineering d computer science. I participated in a workshop where we compiler h ad to write our own programming language. To vie w and analyze the syntax tree for a given program , I wrote a custom drawn tree component those da ys. The original component was written in Java an d I thought it might be useful to have it as a CTre eCtrl derivate. In contrast to some other custom drawn tree controls at CodeProject. this one does not has its own data structure for r epresenting the tree. This means that you do not have to write different code for inserting the t ree items when you want to switch from CTreeCtrl . Because this control inherits from CTreeCtrl , it is very easy to activate the stock-functio nality which draws the tree in the traditional w ay. Platform: |
Size: 19175 |
Author:gaowen |
Hits:
Description: Tiger语言的一种编译器,在大学CS课程必做的,不过可惜的是没有完全完成,做好了词法语法分析,以及IR树的生成.-a language compiler, CS courses at the university will do, but it is a pity not to be completed, well, syntax analysis, and IR tree generation. Platform: |
Size: 35840 |
Author:侯锐 |
Hits:
Description: While studying electronic engineering and computer science, I participated in a compiler workshop where we had to write our own programming language. To view and analyse the syntax tree for a given program, I wrote a custom drawn tree component those days. The original component was written in Java and I thought it might be useful to have it as a CTreeCtrl derivate. In contrast to some other custom drawn tree controls at CodeProject, this one does not has its own data structure for representing the tree. This means that you do not have to write different code for inserting the tree items when you want to switch from CTreeCtrl. Because this control inherits from CTreeCtrl, it is very easy to activate the stock-functionality which draws the tree in the traditional way.-While studying an electronic engineering d computer science. I participated in a workshop where we compiler h ad to write our own programming language. To vie w and analyze the syntax tree for a given program , I wrote a custom drawn tree component those da ys. The original component was written in Java an d I thought it might be useful to have it as a CTre eCtrl derivate. In contrast to some other custom drawn tree controls at CodeProject. this one does not has its own data structure for r epresenting the tree. This means that you do not have to write different code for inserting the t ree items when you want to switch from CTreeCtrl . Because this control inherits from CTreeCtrl , it is very easy to activate the stock-functio nality which draws the tree in the traditional w ay. Platform: |
Size: 18432 |
Author:gaowen |
Hits:
Description: 设计一个给定LL(1)分析表,输入一个句子,能由依据LL(1)分析表输出与句子对应的语法树。能对语法树生成过程进行模拟。-Designed a given LL (1) analysis table, type a sentence, can be from the basis of LL (1) analysis of the output table corresponds to the grammar and sentence tree. Syntax tree can simulate the generation process. Platform: |
Size: 2048 |
Author:王志贤 |
Hits:
Description: JXMLEditor is a XML editor developed in Java which is based on the Xerces Java parser. The goal of this editor is to offer some features (tree view, drag & drop, syntax colorizing) to create XML documents easily. Also available as Eclipse Plugin. Platform: |
Size: 1274880 |
Author:Kan |
Hits:
Description: 本设计Tiger语言为源语言,制作了编译程序的前端部分,主要包括了词法分析、语法分析、抽象语法树和类型检查的设计和实现方法,以及课程设计中碰到的问题、实验心得、参考数据等。-Tiger of the design language for the source language, has produced a compiler front-end parts, including the lexical analysis, syntax analysis, abstract syntax tree and the type checking of the design and implementation, as well as curriculum design problems they encountered in the experimental experience, reference data. Platform: |
Size: 390144 |
Author:jack sio |
Hits:
Description: ANTLR—Another Tool for Language Recognition,其前身是PCCTS,它为包括Java,C++,C#在内的语言提供了一个通过语法描述来自动构造自定义语言的识别器(recognizer),编译器(parser)和解释器(translator)的框架。ANTLR可以通过断言(Predicate)解决识别冲突;支持动作(Action)和返回值(Return Value)来;更棒的是,它可以根据输入自动生成语法树并可视化的显示出来(这一点我将在下面的例子中演示)。由此,计算机语言的翻译变成了一项普通的任务—在这之前YACC/LEX显得过于学院派,而以LL(k)为基础的ANTLR虽然在效率上还略有不足,但是经过近些年来的升级修改,使得ANTLR足以应付现存的绝大多数应用。感谢Terence Parr博士和他的同事们十几年来的出色工作,他们为编译理论的基础和语言工具的构造做了大量基础性工作,也直接导致了ANTLR的产生。-ANTLR-Another Tool for Language Recognition. Its predecessor, PCCTS, including Java, C++, C#, including the language provides a syntax description to automatically construct self-definition language identification (recognizer), the compiler (parser) and explain the framework of the (translator on). ANTLR by the assertion (the Predicate) to address the problems identified conflicts support action (Action) and the return value (Return Value) Even better, it can be automatically generated based on the input syntax tree and visualization is displayed (which I will The following example demonstrates). As a result, the computer language translation has become a common task- in this YACC to/LEX seem the too academic, ANTLR-based LL (k), although the efficiency is slightly less, but after a recent years of upgrade modifications, making the ANTLR enough to cope with the vast majority of the existing application. Thank the excellent work, Terence Parr, Ph.D., and his colleagues more than a dec Platform: |
Size: 420864 |
Author:issacs |
Hits:
Description: 抽象语法树( Abstract Syntax Tree , AST) 作为程序的一种中间表示形式, 在程序分析等诸多领域有广泛的应用.
利用抽象语法树可以方便地实现多种源程序处理工具, 比如源程序浏览器、智能编辑器、语言翻译器等. 本文作者介绍了抽
象语法树涉及的原理及解释器的设计方案, 针对Java 语言, 利用设计模式理论提出了创建和遍历抽象语法树的思路, 并给
出较为详细的代码说明.-Abstract Syntax Tree, referred as intermediate representat ion of program, has many applications in
Program Analysis. Using Abstract Syntax Tree, we can develop tools such as Source Code Explorer, Intellectual Ed-i
tor, etc. This paper introduces the principles of Abstract Syntax Tree, and presents an appropriate solut ion to design
Interpreter based on Java Program. With the help of Design Patterns, we can build and traverse an Abstract Syntax
Tree. Moreover, the paper gives illustrat ions of concerned source codes. Platform: |
Size: 201728 |
Author:lilong |
Hits:
Description: Java实现的一个编译器前端,可以生生成符号表和中间虚拟语法树。做了模块化设计,分别对象的前端,中间码还有后端进行的分别实现,任何一部分都可以写成自己的实现。有一个小MX5的测试文件,可以直接运行MX5.java-A compiler in Java implementation, it is be able to generate symbol table and abstract syntax tree, outputting them in a nice XML format. Each package(frontend, intermediate and backend) is modularized that can be implemented in separate way to suit your desire. Just run MX5.java and it will output compiling result of mx5.txt. Platform: |
Size: 140288 |
Author:ChenLoot |
Hits:
Description: 基于JAVA的cmm语法分析器。以单词序列为输入,分析单词序列构成的语法结构,给出相应的输出,并进行一定的错误处理。输入为任意的CMM源程序文件,输出是语法树或者类似可以说明语法成分的结构形式(可以输出到文件或者输出到屏幕上)。-JAVA-based cmm parser. The word sequence as input, analyze the grammatical structure consisting of a sequence of words, given the corresponding output, and a certain degree of error handling. CMM is an arbitrary input source file, the output is the syntax tree or similar structure may be described in the form of grammatical elements (which can be output to a file or output to the screen). Platform: |
Size: 26624 |
Author:cara |
Hits: