VS Cool : a Visual Studio Code Extension Pack

For λ-Prolog and EPF

IT project of 4th year students at INSA in Rennes aiming to offer a new development environment for the EPF language.

Discover

Context

The Intuidoc team of IRISA works in particular on image recognition of complex documents to extract handwritten and printed content, and has developed the DMOS method and the EPF language to design new document recognition systems. The compilation chain of EPF projects goes through an intermediate step through the λ-Prolog language, which implies the design of an IDE for both languages. λ-Prolog itself is compiled in C, which means that the Microsoft C/C++ extension is a dependency of this product.

Allow λ-Prolog and EPF development

λ-Prolog

Designed during the 90's, λ-Prolog is a superset of Prolog, adding λ-terms, implication and types to the language

EPF

Acronym for "Enhanced Position Formalism", it implements the DMOS (Description and MOdification of Segmentation) method. This language is intended to assist in the extraction of information from complex handwritten documents.

A project based on several languages

The VSCool extensions are integrated into the Visual Studio Code environment, based on trusted extensions, notably those created by Microsoft.

Modern technologies

Visual Studio Code

A Microsoft developped IDE, VS Code has a huge marketplace of extensions, provided both by individual devs and organisations. It allows anybody to develop their own extension.

TypeScript

Also developped by Microsoft, TypeScript is a superset of JavaScript, mostly adding strong typing to it. Mainly used for Web development, it is also the language used to develop VS Code extensions

Textmate Grammars

Textmate is a programming-oriented text editor for Macintosh systems. It integrates an intuitive way to describe grammars with JSON files. These grammars are at the core of VS Code Extensions.

 

EPF User Interface

Fonctionnalities

Outline

Auto completion

  

  

All these fonctionnalities allows for an easy and convenient experience coding in both languages

Refactoring

Syntax highlighting,Hover and Predicate wrapping

Upcoming fonctionnalities

Document Formatting

Debugger (with breakpoints)

Project refactoring

Compilation

Definition search

Error feedback

The VS Cool team

Fourth year students

  • Jérémy AUGEREAU
  • Ahmed BEN MOUSSA
  • Ophélia DENIS
  • GUILLAS-BARENTON Victor
  • LUCAS Claire
  • MOUTAOUKIL Saad

Third year students

  • Zakariyaa ELHADDIOUI
  • Mohamed Amine FADLALLAH
  • Guillaume MERCHEZ
  • Ezgi OZEL

Supervisors

  • Bertrand COUASNON
  • Alexandre GIMENEZ PUIG
  • Laura LOUBOUTIN