1 / 15

IDE and Visualisation of Abstract Syntax Trees for Coco/R

IDE and Visualisation of Abstract Syntax Trees for Coco/R. Presented by: Etienne Stalmans Supervisor: Dr K Bradshaw. Aims of the project IDE Design AST implementation Results Future extensions Questions. Outline. Create IDE for Coco/R Automatically Generate ASTs Visualise ASTs

biana
Download Presentation

IDE and Visualisation of Abstract Syntax Trees for Coco/R

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. IDE and Visualisation of Abstract Syntax Trees for Coco/R Presented by: Etienne Stalmans Supervisor: Dr K Bradshaw

  2. Aims of the project • IDE Design • AST implementation • Results • Future extensions • Questions Outline

  3. Create IDE for Coco/R • Automatically Generate ASTs • Visualise ASTs • Improve learning through visualisation Aims

  4. Why do we need an IDE? • What should be included? • What should the IDE look like? • How easy is the IDE to learn? IDE Design

  5. Generic Data Structure • Binomial nodes • Type • Production • Left sub-tree • Right sub-tree • The limitations? The Abstract Syntax Tree

  6. Coco/R automatically generates code • Scanner • Parser • Driver • How does AST generation fit in? • Modify code generation routines • Insert AST code according to rule-set Code Generation

  7. AST generated at run-time • Require a means to retrieve it • Use reflection • Know the data-structure • Trivial to walk the tree and visualise • Tree walked twice • Mini-tree generated • Easily extended Visualising the AST

  8. Correct ASTs generated for simple LL(1) grammars • Errors start creeping in for more complex grammars • If-then-else problem, similar to dangling else situation • Incorrect tree is constructed Results

  9. Reduces effectiveness as learning aid • Confirms results from past studies • Opens avenue for future extensions • Still viable as demonstration tool Effect on effectiveness

  10. Ability to handle more complex grammars • Will require annotations • Visualisation of parsing process • Step-by-step visualisation • Play/Pause controls Future Extensions

  11. Questions?

More Related