adacore paris tech day 2016: pierre-marie rodat - libadalang, new generation of ada tooling

18

Upload: jamieayre

Post on 29-Jan-2018

66 views

Category:

Business


5 download

TRANSCRIPT

Page 1: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling
Page 2: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Libadalangnew generation of Ada toolingPierre-Marie de Rodat

Page 3: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Parsing and semantic analysis solutions for Ada tooling

Codeinstrumentation

Style checker

Indentationengine

Page 4: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Parsing and semantic analysis solutions for Ada tooling

Customers

AdaCore

Toolpartners

Codeinstrumentation

Style checker

Indentationengine

Page 5: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Parsing and semantic analysis solutions for Ada tooling

Customers

AdaCore

Toolpartners

Codeinstrumentation

Style checker

Indentationengine

GNAT

Page 6: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Parsing and semantic analysis solutions for Ada tooling

Customers

AdaCore

Toolpartners

Codeinstrumentation

Style checker

Indentationengine

GNAT

GPS

Page 7: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Parsing and semantic analysis solutions for Ada tooling

Customers

AdaCore

Toolpartners

Codeinstrumentation

Style checker

Indentationengine

GNAT

GPS

ASIS

Page 8: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Parsing and semantic analysis solutions for Ada tooling

Customers

AdaCore

Toolpartners

Codeinstrumentation

Style checker

IndentationengineLibadalang

ASIS

Page 9: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Libadalang

Internal

• Fast parser

• Incremental semantic analyzer

• Standalone

Page 10: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Libadalang

Internal

• Fast parser

• Incremental semantic analyzer

• Standalone

Operation

• Illegal code

• No semantic checks

Page 11: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Libadalang

Internal

• Fast parser

• Incremental semantic analyzer

• Standalone

Operation

• Illegal code

• No semantic checks

Usage

• Usable from Ada, C, Python

• Prime solution for Ada tooling

• Replace modules in GPS, GNATcheck, GNATtest…

• Windows, Linux, Mac

https://github.com/AdaCore/libadalang

Page 12: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Libadalang

ref = unit.root.lookup(Sloc(line=15, column=43))def = ref.p_definition

From reference to definition in IDE

Page 13: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Future

In progress...

• Target date – 2018

• Active migration of GNATpp

• Better autocompletion, incremental stubbing in GPS

Page 14: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Future

In progress...

• Target date – 2018

• Active migration of GNATpp

• Better autocompletion, incremental stubbing in GPS

In discussion

• Code refactoring

• Semantic pattern matching

• SQL-like queries

Page 15: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Future

ref = unit.root.lookup(Sloc(line=15, column=43))def = libadalang.xref.rename(ref.p_definition, “New_Name”)

Code refactoring in IDE

Page 16: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Summary

For you

• Fast toolkit

• Operational modes

• Flexible

• Feature rich

• Multi-language

• Multi-context

Page 17: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

Summary

For you

• Fast toolkit

• Operational modes

• Flexible

• Feature rich

• Multi-language

• Multi-context

From us

• Improved quality and performance of various tools

• Better support for Ada and SPARK

Page 18: AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling