Quick Links |Home|Worldwide
Microsoft

Search:
   
 

DR. VLADIMIR SAFONOV
Professor, Head of Laboratory
St. Petersburg University
St. Petersburg, Russia

E-mail: v_o_safonov@mail.ru
Home page: http://user.rol.ru/~vsafonov

PHOENIX FRONT-END TOOLKIT AND ENVIRONMENT
(Phoenix-FETE)


Vladimir O. Safonov
Professor, Head of laboratory

Daniel A. Vassilyev
PhD Student

St. Petersburg University

October 2006


Phoenix.FETE is a modern tool for compiler development based on Microsoft Phoenix being developed at St. Petersburg University under supervision of professor Vladimir Safonov, as part of Microsoft Research granted “SPBU for Phoenix” project.
The main features of the tool are:

  • support of combining several parsing and error recovery techniques;

  • built-in mechanisms of intermediate code generation (HL-AST or Phoenix HIR).

The purpose of the Phoenix-FETE project is to develop Phoenix-oriented compiler front-end tool and environment based on syntax-directed translation schemes, similar to yacc, bison and other compiler generation tools, but intended to use with Phoenix. It should take as input an attributed LL or operator precedence grammar of a programming language and produce a compiler front-end for this language that issues HL-AST or Phoenix IR. The purpose of the tool is to make easier a new compiler front-end development for Phoenix.

Features to be implemented in Phoenix-FETE:

  • The ability to process either LL or operator precedence grammars and to generate a purely recursive descent, or combined recursive descent (for statements) and operator precedence (for expressions) parser, since in real compilers, including our experience, often combined forms of parsers are used;

  • The ability to define and process LL or operator precedence conflicts (like in other modern compiler development tools – ANTLR, Coco/R);

  • Support of efficient parsing and semantic evaluation techniques (storing synthesized attributes in the HL-AST during LR parsing, etc.);

  • Support of visualization, understanding and control over the process of generation a Phoenix-FETE based compiler front-end, and the process of the generated front-end’s work;

  • Adequate support of both HL-AST (whose architecture should be developed as another part of our project) generation, and directly Phoenix HIR generation by a Phoenix-FETE generated compiler front-end;

  • The ability for Phoenix-FETE to work as a Visual Studio.NET add-in.

For more information, read the complete whitepaper.

 

Research Highlights


©2007 Microsoft Corporation. All rights reserved. Terms of Use |Trademarks |Privacy Statement