1 / 10

A Framework for Developing Compiler-like Components

A Framework for Developing Compiler-like Components. Jackline Ssanyu ( Software Engineering and Technology Group) Eindhoven University of Technology Supervisors: 1. Mark Van De Brand

blade
Download Presentation

A Framework for Developing Compiler-like Components

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. A Framework for Developing Compiler-like Components Jackline Ssanyu ( Software Engineering and Technology Group) Eindhoven University of Technology Supervisors: 1. Mark Van De Brand 2. Kees Hemeric

  2. Outline • Research aim • Motivation • The Component Framework • Research Questions • Case study

  3. Research Aim • Design and develop a framework for developing compiler- • like components • - based-on existing theory, techniques and tools. • - by applying MDSD and CBSD design principles.

  4. Motivation • Compiler construction has well-defined tasks • scanning, parsing, tree building, tree Rewriting, ……. • tasks are used in other applications , not necessarily compilers • suitable to be defined as components with simple interfaces. • can combine components in different ways to build applications for • different purposes. • Compiler field started in 1950’s • before use of components and models in software construction. • CBSD and MDSD came later. • existing compiler-related tools have not really utilized them. • Example 1 • Many tools are based on one parsing algorithm • LL , LR,..... • E.g Lex/Yacc, JavaCC, Eli, Antlr, Grammatica • Would like to have a grammar component connected to parser • components of different algorithms.

  5. Motivation • Example 2 • - Tools require effort to learn them in order to use them • input specifications are mixture of grammar and code • no clear separation between PIM and PSM • would like to define algorithms for developing different • components at a high level of abstraction. • To enable users provide input specifications in the usual • mathematical notation. • use model transformations to later realize the specifications and • algorithms into a specific programming language.

  6. The Component Framework • Characteristics • components will be described at a high-level of abstraction. • components of the same type but using different algorithms to • solve a problem. • users will be able to adjust attributes of the components to • generate applications of their choice. • ability to combine components in different ways to get different • applications. • - embed the framework in existing frameworks such as Eclipse or • .NET

  7. Proposed of Components • Front-end compiler components • - Scanner • - Parser • - Tree-builder • - Tree Matcher • - Tree Rewriting • - Structure Editor • - Formatter

  8. Research Questions • What are the right abstractions and notions for components at PIM • level that can later be realized into different PSMs? • What kind of transformations do we need to obtain concrete • applications from the models of abstraction? • How will the components be organized(Architecture)?

  9. Case Study • Will consider one or more of the following: • - Grammar Workbench. • - A toolkit for a compiler course. • - Processing Natural language into SQL queries for data • manipulation. • - Processing of XML • - Small programming language for a teaching environment. • - Small mathematical language (grammar for sets, propositions, • Boolean Algebra).

  10. The End Questions & Suggestions Thank You!

More Related