Migratjng Overture to a difgerent IDE
Peter W. V. Tran-Jørgensen, Tomas Kulik
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
Peter W. V. Tran-Jørgensen, Tomas Kulik
2
Peter W. V. Tran-Jørgensen, Tomas Kulik
Eclipse usage is
Pointed at 16th
Emacs package as a
3
Peter W. V. Tran-Jørgensen, Tomas Kulik
4
Peter W. V. Tran-Jørgensen, Tomas Kulik
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
5
Peter W. V. Tran-Jørgensen, Tomas Kulik
6
Peter W. V. Tran-Jørgensen, Tomas Kulik
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
7
Peter W. V. Tran-Jørgensen, Tomas Kulik
8
Peter W. V. Tran-Jørgensen, Tomas Kulik
Based on flycheck
− Errors − Warnings − In margin and echo area − Interactive list of errors − Errors as pop ups
9
Peter W. V. Tran-Jørgensen, Tomas Kulik
10
Peter W. V. Tran-Jørgensen, Tomas Kulik
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
11
Peter W. V. Tran-Jørgensen, Tomas Kulik
12
Peter W. V. Tran-Jørgensen, Tomas Kulik
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
13
Peter W. V. Tran-Jørgensen, Tomas Kulik
Surprisingly little:
14
Peter W. V. Tran-Jørgensen, Tomas Kulik
15
Peter W. V. Tran-Jørgensen, Tomas Kulik
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
16
Peter W. V. Tran-Jørgensen, Tomas Kulik
Github: https://github.com/peterwvj/vdm-mode
17
Peter W. V. Tran-Jørgensen, Tomas Kulik