EclipseCon Europe 2011

533
-1

Published on

Published in: Technology, Education
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
533
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

EclipseCon Europe 2011

  1. 1. Bringing the power of Eclipse to Digital Hardware designers Hendrik Eeckhaut Mark Christiaens Lieven Lemiengre
  2. 2. HELLO MY NAME IS@heeckhau 2
  3. 3. 3
  4. 4. Eclipse• Navigation• Autocomplete• Real-time errors• Quick-assist/fix• Refactoring 4
  5. 5. 5
  6. 6. hardware development toolkitBring power of Eclipse to Digital Hardware Designers
  7. 7. VHDL• 20 year old language (based on Ada)• all shortcomings of arcane languages • verbose • irregular • ... 7
  8. 8. Perfect fit for ?• Xtext looks like perfect fit: • navigation • navigation • • type time syntax checking type time syntax checking Grammar • • linting and quick-fixes linting and quick-fixes • formatting • formatting• But: Powerful enough for VHDL? 8
  9. 9. Demo
  10. 10. Xtext experienceResults EMF Guice Eclipse Antlr Xtext Effort 10
  11. 11. Overview• Grammar• Scoping• UI• Autocomplete• Formatting• Testing• Performance Lessons learnt ? 11
  12. 12. Grammar• Grammar• Scoping• UI• Autocomplete • Lexer: No problems• Formatting (We had ANTLR grammar to start from)• Testing • Parser: No semantic predicates• Performance • Keep track of the number/size of objects that are created 12
  13. 13. Scoping• Grammar• Scoping• UI• Autocomplete• Formatting • A lot harder than expected• Testing • Difficult to debug (declarative• Performance approach, lazy evaluation) 13
  14. 14. User Interface• Grammar• Scoping • Works as expected : outline,• UI preferences, templates, folding,• Autocomplete (syntax and semantic)• Formatting highlighting• Testing • Xtext team keeps adding nice• Performance improvements • Some scalability issues: Large files are problematic in UI (n 2 problems) 14
  15. 15. Autocomplete• Grammar• Scoping• UI • Autocomplete based on• Autocomplete grammar/scope is not powerful• Formatting enough• Testing • autocomplete is mostly triggered for incomplete code (incorrect context)• Performance • extended toolkit would be better • Most VHDL autocompletes are manually designed 15
  16. 16. Formatting• Grammar• Scoping• UI • Needs a lot of customization• Autocomplete• Formatting • A lot cleaner to implement than• Testing what e.g. Emacs does• Performance • Priority of rules not always clear • Custom extension for vertical alignment 16
  17. 17. Testing• Grammar• Scoping• UI• Autocomplete• Formatting • Xtext itself contains good• Testing starting points• Performance • Dependency injection (Guice) makes it easy to test 17
  18. 18. Performance• Grammar• Scoping• UI• Autocomplete • Xtext continuously improves• Formatting • Sigasi patches: Parallel loading,• Testing Model Caching• Performance • Memory usage OK 18
  19. 19. Unresolved Xtext issues ?• Type system• Opening non-project files• Preprocessing 19
  20. 20. Conclusions• Xtext is really powerful technology• Gives great architecture/structure• Getting started is easy• But... still a lot of work• Devil is in the details 20
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×