migratjng overture to a difgerent ide
play

Migratjng Overture to a difgerent IDE Peter W. V. Tran-Jrgensen, - PowerPoint PPT Presentation

Migratjng Overture to a difgerent IDE Peter W. V. Tran-Jrgensen, Tomas Kulik Contributjon VDM-Mode for Emacs Syntax highlightjng Syntax validatjon REPL VDM Templates Pretuy printjng Packages accepted into MELPA Peter


  1. Migratjng Overture to a difgerent IDE Peter W. V. Tran-Jørgensen, Tomas Kulik

  2. Contributjon • VDM-Mode for Emacs − Syntax highlightjng − Syntax validatjon − REPL − VDM Templates − Pretuy printjng − Packages accepted into MELPA Peter W. V. Tran-Jørgensen, Tomas Kulik 2

  3. The need  Eclipse usage is falling  Pointed at 16 th Overture workshop  Emacs package as a case study Peter W. V. Tran-Jørgensen, Tomas Kulik 3

  4. Why Emacs? • Popular text editor • Ofuen used as IDE • Massively extensible • Use of third party packages • Less than 400 LoC Peter W. V. Tran-Jørgensen, Tomas Kulik 4

  5. Enabling Emacs packages  prog-mode − Syntax highlightjng and indentatjon rules  comint-mode − REPL (interactjve shell)  fmycheck − Syntax checking framework  yasnippet − Template expansion system  prettjfy-symbols-mode − Replacement of ASCII characters with Unicode Peter W. V. Tran-Jørgensen, Tomas Kulik 5

  6. Syntax highlightjng Peter W. V. Tran-Jørgensen, Tomas Kulik 6

  7. Syntax highlighting  vdm-mode derived from prog-mode − Keyword, type, value highlighting − Pretty printing of characters − Characters saved as ASCII representation − Detection of VDM dialect  Comparable to Overture Peter W. V. Tran-Jørgensen, Tomas Kulik 7

  8. Syntax validatjon Peter W. V. Tran-Jørgensen, Tomas Kulik 8

  9. Syntax validation  Based on flycheck − Errors − Warnings − In margin and echo area − Interactive list of errors − Errors as pop ups Peter W. V. Tran-Jørgensen, Tomas Kulik 9

  10. The REPL Peter W. V. Tran-Jørgensen, Tomas Kulik 10

  11. The REPL  vdm-comint based on comint − Run VDM in REPL-like fashion − Send parts of the model directly to the REPL − Load files associated with current VDM project Peter W. V. Tran-Jørgensen, Tomas Kulik 11

  12. VDM templates Peter W. V. Tran-Jørgensen, Tomas Kulik 12

  13. VDM templates  vdm-snippets based on yasnippet − Generation of skeleton of VDM syntax − Function template expansion − Operation template expansion − Module template expansion − Class template expansion  Generate and fill in placeholders Peter W. V. Tran-Jørgensen, Tomas Kulik 13

  14. What did it take?  Surprisingly little: Peter W. V. Tran-Jørgensen, Tomas Kulik 14

  15. How does it compare? Peter W. V. Tran-Jørgensen, Tomas Kulik 15

  16. Conclusion and future plans  Basic VDM features in few LoC − Syntax highlighting (145) − Syntax validation (32) − REPL (102) − Template expansion (13)  Much more work required to reach full IDE  Language Server Protocol (LSP) − Increase uptake of Overture Peter W. V. Tran-Jørgensen, Tomas Kulik 16

  17. Where to find?  Github:  https://github.com/peterwvj/vdm-mode Peter W. V. Tran-Jørgensen, Tomas Kulik 17

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend