Bringing the power of  Eclipse to Digital Hardware designers      Hendrik Eeckhaut      Mark Christiaens      Lieven Lemie...
HELLO MY NAME IS@heeckhau              2
3
Eclipse• Navigation•   Autocomplete•   Real-time errors•   Quick-assist/fix• Refactoring                       4
5
hardware development toolkitBring power of Eclipse to Digital      Hardware Designers
VHDL• 20 year old language (based on Ada)• all shortcomings of arcane languages •   verbose •   irregular •   ...         ...
Perfect fit for                         ?• Xtext looks like perfect fit: •   navigation        •   navigation •             ...
Demo
Xtext experienceResults          EMF Guice Eclipse            Antlr Xtext                                   Effort        ...
Overview• Grammar• Scoping• UI• Autocomplete• Formatting• Testing• Performance                 Lessons learnt ?           ...
Grammar• Grammar• Scoping• UI• Autocomplete   • Lexer: No problems• Formatting       (We had ANTLR grammar to start from)•...
Scoping• Grammar• Scoping• UI• Autocomplete• Formatting     • A lot harder than expected• Testing                 • Difficu...
User Interface• Grammar• Scoping        • Works as expected : outline,• UI               preferences, templates, folding,•...
Autocomplete• Grammar• Scoping• UI                 • Autocomplete based on• Autocomplete                   grammar/scope i...
Formatting• Grammar• Scoping• UI                 • Needs a lot of customization• Autocomplete• Formatting                 ...
Testing• Grammar• Scoping• UI• Autocomplete• Formatting                 • Xtext itself contains good• Testing             ...
Performance• Grammar• Scoping• UI• Autocomplete   • Xtext continuously improves• Formatting                 • Sigasi patch...
Unresolved Xtext issues                             ?• Type system• Opening non-project files• Preprocessing               ...
Conclusions• Xtext is really powerful technology• Gives great architecture/structure• Getting started is easy• But... stil...
Upcoming SlideShare
Loading in...5
×

EclipseCon Europe 2011

496

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
496
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.

×