SlideShare a Scribd company logo
AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling
Libadalang
new generation of Ada tooling
Pierre-Marie de Rodat
Parsing and semantic analysis
solutions for Ada tooling
Code
instrumentation
Style checker
Indentation
engine
Parsing and semantic analysis
solutions for Ada tooling
Customers
AdaCore
Tool
partners
Code
instrumentation
Style checker
Indentation
engine
Parsing and semantic analysis
solutions for Ada tooling
Customers
AdaCore
Tool
partners
Code
instrumentation
Style checker
Indentation
engine
GNAT
Parsing and semantic analysis
solutions for Ada tooling
Customers
AdaCore
Tool
partners
Code
instrumentation
Style checker
Indentation
engine
GNAT
GPS
Parsing and semantic analysis
solutions for Ada tooling
Customers
AdaCore
Tool
partners
Code
instrumentation
Style checker
Indentation
engine
GNAT
GPS
ASIS
Parsing and semantic analysis
solutions for Ada tooling
Customers
AdaCore
Tool
partners
Code
instrumentation
Style checker
Indentation
engineLibadalang
ASIS
Libadalang
Internal
• Fast parser
• Incremental semantic
analyzer
• Standalone
Libadalang
Internal
• Fast parser
• Incremental semantic
analyzer
• Standalone
Operation
• Illegal code
• No semantic checks
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
Libadalang
ref = unit.root.lookup(Sloc(line=15, column=43))
def = ref.p_definition
From reference to definition in IDE
Future
In progress...
• Target date – 2018
• Active migration of GNATpp
• Better autocompletion, incremental
stubbing in GPS
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
Future
ref = unit.root.lookup(Sloc(line=15, column=43))
def = libadalang.xref.rename(ref.p_definition, “New_Name”)
Code refactoring in IDE
Summary
For you
• Fast toolkit
• Operational modes
• Flexible
• Feature rich
• Multi-language
• Multi-context
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
AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling

More Related Content

PDF
SUT and Ostadkar Co-Ops.pdf
HadiValipour
 
PDF
Productionizing Data Science at Experience
Matt Mills
 
PDF
apidays LIVE Paris 2021 - Stargate.io, An OSS Api Layer for your Cassandra by...
apidays
 
PDF
Punta Dreamin 17 Generic Apex and Tooling Api
Adam Olshansky
 
ODP
Elixir absinthe-basics
Ruben Amortegui
 
PDF
The 7 Deadly Sins of API Design
luisw19
 
PDF
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
luisw19
 
PPTX
Functional programming, TypeScript and RXJS
Vivek Tikar
 
SUT and Ostadkar Co-Ops.pdf
HadiValipour
 
Productionizing Data Science at Experience
Matt Mills
 
apidays LIVE Paris 2021 - Stargate.io, An OSS Api Layer for your Cassandra by...
apidays
 
Punta Dreamin 17 Generic Apex and Tooling Api
Adam Olshansky
 
Elixir absinthe-basics
Ruben Amortegui
 
The 7 Deadly Sins of API Design
luisw19
 
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
luisw19
 
Functional programming, TypeScript and RXJS
Vivek Tikar
 

What's hot (10)

PDF
GraphQL Europe Recap
Philipp Sporrer
 
PPTX
GraphQL Introduction
Serge Huber
 
PDF
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
Nicola Molinari
 
PDF
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...
Craeg Strong
 
PPTX
Vlsi final year project in ludhiana
deepikakaler1
 
PPTX
Vlsi final year project in jalandhar
deepikakaler1
 
PDF
Intro to GraphQL
Rakuten Group, Inc.
 
PPT
Graphql presentation
Vibhor Grover
 
PDF
apidays LIVE Paris 2021 - Building an Accessible API Spec with Traditional En...
apidays
 
PPTX
Introduction to GraphQL
Bhargav Anadkat
 
GraphQL Europe Recap
Philipp Sporrer
 
GraphQL Introduction
Serge Huber
 
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
Nicola Molinari
 
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...
Craeg Strong
 
Vlsi final year project in ludhiana
deepikakaler1
 
Vlsi final year project in jalandhar
deepikakaler1
 
Intro to GraphQL
Rakuten Group, Inc.
 
Graphql presentation
Vibhor Grover
 
apidays LIVE Paris 2021 - Building an Accessible API Spec with Traditional En...
apidays
 
Introduction to GraphQL
Bhargav Anadkat
 
Ad

Similar to AdaCore Paris Tech Day 2016: Pierre-Marie Rodat - Libadalang, New Generation of Ada Tooling (20)

PPTX
ABAP Test Cockpit in action with Doctor ZedGe and abap2xlsx
Ivan Femia
 
PDF
Write Generic Code with the Tooling API
Adam Olshansky
 
PPTX
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
Agile Testing Alliance
 
PPT
Managing SAP Custom Code
Tony de Thomasis
 
PDF
AdaCore Paris Tech Day 2016: Jamie Ayre - Market Perspective
jamieayre
 
PDF
"Multiple Uses of Pipelined Video Pre-Processor Hardware in Vision Applicatio...
Edge AI and Vision Alliance
 
PDF
Owf 2013 rii moose speaker 2
Patrick MOREAU
 
PDF
Quality assurance in practice
Balázs Tatár
 
PDF
Device Independent API design
Amrita jain
 
PDF
Reduce API Security Risk by Leveraging Graph Analytics Webinar Slides
Neo4j
 
PPTX
Sap Leonardo - what is it, and why would I want one?
Tom Raftery
 
PPTX
Implementation of BI Tool
Binary Semantics
 
PPTX
Photogrammetry Inspection System by Six D Marketing Solutions (P) Ltd Noida
IndiaMART InterMESH Limited
 
PPTX
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org - Dev...
DevOpsDays Tel Aviv
 
PDF
iNVATERRA Intelligent Automation & Digital Transformation
Kory Farooquie
 
PPTX
Big Data Day LA 2016/ Big Data Track - Apply R in Enterprise Applications, Lo...
Data Con LA
 
PPT
My Projects & My Stories
Justin Cui
 
PDF
TAG17 - O'Zapft is - Daten zapfen leicht gemacht?
SbgMartin
 
PDF
sMART Store of Cypher-Annotated Microservices
Stefan Ianta
 
PDF
Avi solution2
Vineet M Srivastav
 
ABAP Test Cockpit in action with Doctor ZedGe and abap2xlsx
Ivan Femia
 
Write Generic Code with the Tooling API
Adam Olshansky
 
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
Agile Testing Alliance
 
Managing SAP Custom Code
Tony de Thomasis
 
AdaCore Paris Tech Day 2016: Jamie Ayre - Market Perspective
jamieayre
 
"Multiple Uses of Pipelined Video Pre-Processor Hardware in Vision Applicatio...
Edge AI and Vision Alliance
 
Owf 2013 rii moose speaker 2
Patrick MOREAU
 
Quality assurance in practice
Balázs Tatár
 
Device Independent API design
Amrita jain
 
Reduce API Security Risk by Leveraging Graph Analytics Webinar Slides
Neo4j
 
Sap Leonardo - what is it, and why would I want one?
Tom Raftery
 
Implementation of BI Tool
Binary Semantics
 
Photogrammetry Inspection System by Six D Marketing Solutions (P) Ltd Noida
IndiaMART InterMESH Limited
 
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org - Dev...
DevOpsDays Tel Aviv
 
iNVATERRA Intelligent Automation & Digital Transformation
Kory Farooquie
 
Big Data Day LA 2016/ Big Data Track - Apply R in Enterprise Applications, Lo...
Data Con LA
 
My Projects & My Stories
Justin Cui
 
TAG17 - O'Zapft is - Daten zapfen leicht gemacht?
SbgMartin
 
sMART Store of Cypher-Annotated Microservices
Stefan Ianta
 
Avi solution2
Vineet M Srivastav
 
Ad

More from jamieayre (16)

PDF
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
jamieayre
 
PDF
HIS 2017 David Oswald- Your car is not a safe box - breaking automotive keyle...
jamieayre
 
PDF
HIS 2017 Paul Sherwood- towards trustable software
jamieayre
 
PDF
HIS 2017 Robert Martin- assured software a journey and discussion-final
jamieayre
 
PDF
HIS 2017 Marie Moe- Unpatchable-Living with a Vulnerable Implanted Device
jamieayre
 
PDF
HIS 2017 Jonathan Pallant- Delivering quality, time after time
jamieayre
 
PDF
HIS 2017 Peter Ladkin- Rigorous-Assurance Points in Software Development
jamieayre
 
PDF
HIS 2017 Dewi Daniels- bridging the gap between manned and unmanned
jamieayre
 
PDF
HIS 2017 Roderick chapman- Secure Updates for Embedded Systems
jamieayre
 
PDF
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
jamieayre
 
PDF
AdaCore Paris Tech Day 2016: Jerome Lambourg - Cross and BareBoard Team Insid...
jamieayre
 
PDF
AdaCore Paris Tech Day 2016: Eric Perlade - Verification Solutions
jamieayre
 
PDF
AdaCore Paris Tech Day 2016: Elie Richa - Integrated Unit Testing for a Trust...
jamieayre
 
PDF
AdaCore Paris Tech Day 2016: Cyrille Comar - Looking Ahead
jamieayre
 
PDF
AdaCore Paris Tech Day 2016: Fabien Chouteau - Making the Ada Drivers Library
jamieayre
 
PDF
AdaCore Paris Tech Day 2016: Arnaud Chalet - GNAT Pro Roadmap
jamieayre
 
HIS 2017 Mark Batty-Industrial concurrency specification for C/C++
jamieayre
 
HIS 2017 David Oswald- Your car is not a safe box - breaking automotive keyle...
jamieayre
 
HIS 2017 Paul Sherwood- towards trustable software
jamieayre
 
HIS 2017 Robert Martin- assured software a journey and discussion-final
jamieayre
 
HIS 2017 Marie Moe- Unpatchable-Living with a Vulnerable Implanted Device
jamieayre
 
HIS 2017 Jonathan Pallant- Delivering quality, time after time
jamieayre
 
HIS 2017 Peter Ladkin- Rigorous-Assurance Points in Software Development
jamieayre
 
HIS 2017 Dewi Daniels- bridging the gap between manned and unmanned
jamieayre
 
HIS 2017 Roderick chapman- Secure Updates for Embedded Systems
jamieayre
 
AdaCore Paris Tech Day 2016: Jose Ruiz - QGen Tech Update
jamieayre
 
AdaCore Paris Tech Day 2016: Jerome Lambourg - Cross and BareBoard Team Insid...
jamieayre
 
AdaCore Paris Tech Day 2016: Eric Perlade - Verification Solutions
jamieayre
 
AdaCore Paris Tech Day 2016: Elie Richa - Integrated Unit Testing for a Trust...
jamieayre
 
AdaCore Paris Tech Day 2016: Cyrille Comar - Looking Ahead
jamieayre
 
AdaCore Paris Tech Day 2016: Fabien Chouteau - Making the Ada Drivers Library
jamieayre
 
AdaCore Paris Tech Day 2016: Arnaud Chalet - GNAT Pro Roadmap
jamieayre
 

Recently uploaded (20)

PPTX
Pakistan’s Leading Manpower Export Agencies for Qatar
Glassrooms Dubai
 
PDF
HOT DAY CAFE , Café Royale isn’t just another coffee shop
PINKY PARLOUR
 
PDF
Minnesota’s New Lane-Sharing Law for Motorcycles.pdf
Knowyourright
 
PDF
Data Sheet Cloud Integration Platform - dataZap
Chainsys SEO
 
PDF
TriStar Gold Corporate Presentation August 2025
Adnet Communications
 
PDF
NewBase 29 July 2025 Energy News issue - 1807 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
PPTX
Helicopters in the Brazilian Oil Industry – Executive Summary
Vitor Pereira Xavier
 
PDF
MDR Services – 24x7 Managed Detection and Response
CyberNX Technologies Private Limited
 
PDF
Withum Webinar - OBBBA: Tax Insights for Food and Consumer Brands
Withum
 
PDF
A Complete Guide to Data Migration Services for Modern Businesses
Aurnex
 
PPTX
New Microsoft PowerPoint Presentation (2).pptx
AjayKumar458889
 
PPTX
Unlocking Creativity Top Adobe Tools for Content Creators Buy Adobe Software...
PI Software
 
PDF
The Digital Culture Challenge; Bridging the Employee-Leadership Disconnect
Brian Solis
 
PPTX
6 Timeless Japanese Concepts to Improve Business Processes
RUPAL AGARWAL
 
PDF
Rodolfo Belcastro su All Around The Worlds Magazine - Febbraio 2025
Rodolfo Belcastro
 
PPT
How to Protect Your New York Business from the Unexpected
Sam Vohra
 
PPTX
Virbyze_Our company profile_Preview.pptx
myckwabs
 
PDF
The FMS General Management Prep-Book 2025.pdf
psbhandkar4148
 
PPTX
Is Your Brand Ready for Expansion? A Strategic Guide to Scaling Successfully
RUPAL AGARWAL
 
PDF
From Risk to Opportunity: How Cybersecurity Enhances Your Staffing Business
Withum
 
Pakistan’s Leading Manpower Export Agencies for Qatar
Glassrooms Dubai
 
HOT DAY CAFE , Café Royale isn’t just another coffee shop
PINKY PARLOUR
 
Minnesota’s New Lane-Sharing Law for Motorcycles.pdf
Knowyourright
 
Data Sheet Cloud Integration Platform - dataZap
Chainsys SEO
 
TriStar Gold Corporate Presentation August 2025
Adnet Communications
 
NewBase 29 July 2025 Energy News issue - 1807 by Khaled Al Awadi_compressed.pdf
Khaled Al Awadi
 
Helicopters in the Brazilian Oil Industry – Executive Summary
Vitor Pereira Xavier
 
MDR Services – 24x7 Managed Detection and Response
CyberNX Technologies Private Limited
 
Withum Webinar - OBBBA: Tax Insights for Food and Consumer Brands
Withum
 
A Complete Guide to Data Migration Services for Modern Businesses
Aurnex
 
New Microsoft PowerPoint Presentation (2).pptx
AjayKumar458889
 
Unlocking Creativity Top Adobe Tools for Content Creators Buy Adobe Software...
PI Software
 
The Digital Culture Challenge; Bridging the Employee-Leadership Disconnect
Brian Solis
 
6 Timeless Japanese Concepts to Improve Business Processes
RUPAL AGARWAL
 
Rodolfo Belcastro su All Around The Worlds Magazine - Febbraio 2025
Rodolfo Belcastro
 
How to Protect Your New York Business from the Unexpected
Sam Vohra
 
Virbyze_Our company profile_Preview.pptx
myckwabs
 
The FMS General Management Prep-Book 2025.pdf
psbhandkar4148
 
Is Your Brand Ready for Expansion? A Strategic Guide to Scaling Successfully
RUPAL AGARWAL
 
From Risk to Opportunity: How Cybersecurity Enhances Your Staffing Business
Withum
 

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

  • 2. Libadalang new generation of Ada tooling Pierre-Marie de Rodat
  • 3. Parsing and semantic analysis solutions for Ada tooling Code instrumentation Style checker Indentation engine
  • 4. Parsing and semantic analysis solutions for Ada tooling Customers AdaCore Tool partners Code instrumentation Style checker Indentation engine
  • 5. Parsing and semantic analysis solutions for Ada tooling Customers AdaCore Tool partners Code instrumentation Style checker Indentation engine GNAT
  • 6. Parsing and semantic analysis solutions for Ada tooling Customers AdaCore Tool partners Code instrumentation Style checker Indentation engine GNAT GPS
  • 7. Parsing and semantic analysis solutions for Ada tooling Customers AdaCore Tool partners Code instrumentation Style checker Indentation engine GNAT GPS ASIS
  • 8. Parsing and semantic analysis solutions for Ada tooling Customers AdaCore Tool partners Code instrumentation Style checker Indentation engineLibadalang ASIS
  • 9. Libadalang Internal • Fast parser • Incremental semantic analyzer • Standalone
  • 10. Libadalang Internal • Fast parser • Incremental semantic analyzer • Standalone Operation • Illegal code • No semantic checks
  • 11. 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
  • 12. Libadalang ref = unit.root.lookup(Sloc(line=15, column=43)) def = ref.p_definition From reference to definition in IDE
  • 13. Future In progress... • Target date – 2018 • Active migration of GNATpp • Better autocompletion, incremental stubbing in GPS
  • 14. 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
  • 15. Future ref = unit.root.lookup(Sloc(line=15, column=43)) def = libadalang.xref.rename(ref.p_definition, “New_Name”) Code refactoring in IDE
  • 16. Summary For you • Fast toolkit • Operational modes • Flexible • Feature rich • Multi-language • Multi-context
  • 17. 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