Skip to content
Luis Diogo Couto edited this page Jun 12, 2015 · 4 revisions

Language Extensions: done

  • explain basic, common steps, behind adding a language extension to overture
  • specify the new grammar
  • extend the AST specification
  • update parser and TC
  • use R/G as example

Visitor Guide: done

  • explain idea of visitor pattern and how to apply a visitor
  • distinguish between case/default/etc. and how the narrower one gets applied
  • explain about plain, question and answer visitors
  • mention the adaptor family classes (that you inherit from)
  • mention the create return value methods since they always have to be implemented

Exercise Project: done

Special Eclipse project with pre-loaded code and tests to perform the tutorial exercises.

Pre-Requisites Guide: done

  • quick mention of required tools and versions
  • links to git, eclipse and maven guides

Eclipse Setup Guide: done

  • Existing guide was migrated from the old wiki. It's out of date and needs cleanup and improving
  • add/correct information on which projects to import (leafs vs roots, etc.)
  • more detail on interaction between Maven and Eclipse and the git -> mvn -> eclipse cycle
  • how to set up an Eclipse run configuration for running Overture
  • troubleshooting section (Artifact not packaged, etc.)

Tour of the AST: started

  • Relate it to the VDM grammar
  • Discuss the main families
  • Distinguish between children and graphs
  • Importance of preserving the AST (clone a lot!)
  • weird side-effects when setting new nodes
  • how to use the AST specification file
  • class hierarchy diagram for the AST (connect with visitor guide case priority section)

Advanced Visitor Guide:

  • talk about the difference between subclassing and implementing interfaces
  • talk about extending visitors (main visitor pattern)
  • explain about ancestors and parent (advanced)
  • how to do tree transformations: give an example
  • how to use the depth-first visitor
  • there's an existing AST spec somewhere. use that

Test Framework

  • main features of the new test framework
  • how to use it
  • recommended testing practices

IO Guide:

  • How to get files from path
  • How to call parser and TC
  • How to unpack and extract the AST
  • How do the same things in Eclipse

Stub Project:

  • Template files and folders for maven module and Eclipse plug-in
  • Everything is pre filled-in and comments tell you what goes where (ex: dependencies)
  • New developer can just copy and rename
  • Place in documentation folder under code templates or something

My First Mdule:

  • How to write a very simple visitor, step-by-step
  • Something like operation counter or something
  • Wrap in a full module, with AST-getting, parser and TC calls
  • configwise, create a git branch for it, set up the poms, build with maven
  • Test it

Complete Project:

  • Follow-up to previous guide that takes the module and makes a Eclipse plug-in for it
  • configwise, explain how to set up the tycho dependencies
  • explain all the features stuff to get it into the standalone version