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
PDF
Productionizing Data Science at Experience
PDF
apidays LIVE Paris 2021 - Stargate.io, An OSS Api Layer for your Cassandra by...
PDF
Punta Dreamin 17 Generic Apex and Tooling Api
ODP
Elixir absinthe-basics
PDF
The 7 Deadly Sins of API Design
PDF
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
PPTX
Functional programming, TypeScript and RXJS
SUT and Ostadkar Co-Ops.pdf
Productionizing Data Science at Experience
apidays LIVE Paris 2021 - Stargate.io, An OSS Api Layer for your Cassandra by...
Punta Dreamin 17 Generic Apex and Tooling Api
Elixir absinthe-basics
The 7 Deadly Sins of API Design
GraphQL as an alternative approach to REST (as presented at Java2Days/CodeMon...
Functional programming, TypeScript and RXJS

What's hot (10)

PDF
GraphQL Europe Recap
PPTX
GraphQL Introduction
PDF
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
PDF
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...
PPTX
Vlsi final year project in ludhiana
PPTX
Vlsi final year project in jalandhar
PDF
Intro to GraphQL
PPT
Graphql presentation
PDF
apidays LIVE Paris 2021 - Building an Accessible API Spec with Traditional En...
PPTX
Introduction to GraphQL
GraphQL Europe Recap
GraphQL Introduction
GraphQL Munich Meetup #1 - How We Use GraphQL At Commercetools
20141024 AgileDC 2014 Conf How much testing is enough for software that can c...
Vlsi final year project in ludhiana
Vlsi final year project in jalandhar
Intro to GraphQL
Graphql presentation
apidays LIVE Paris 2021 - Building an Accessible API Spec with Traditional En...
Introduction to GraphQL
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
PDF
Write Generic Code with the Tooling API
PPTX
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
PPT
Managing SAP Custom Code
PDF
AdaCore Paris Tech Day 2016: Jamie Ayre - Market Perspective
PDF
"Multiple Uses of Pipelined Video Pre-Processor Hardware in Vision Applicatio...
PDF
Owf 2013 rii moose speaker 2
PDF
Quality assurance in practice
PDF
Device Independent API design
PDF
Reduce API Security Risk by Leveraging Graph Analytics Webinar Slides
PPTX
Sap Leonardo - what is it, and why would I want one?
PPTX
Implementation of BI Tool
PPTX
Photogrammetry Inspection System by Six D Marketing Solutions (P) Ltd Noida
PPTX
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org - Dev...
PDF
Identify cycling race timing
PDF
iNVATERRA Intelligent Automation & Digital Transformation
PPTX
Big Data Day LA 2016/ Big Data Track - Apply R in Enterprise Applications, Lo...
PPT
My Projects & My Stories
PDF
TAG17 - O'Zapft is - Daten zapfen leicht gemacht?
PDF
sMART Store of Cypher-Annotated Microservices
ABAP Test Cockpit in action with Doctor ZedGe and abap2xlsx
Write Generic Code with the Tooling API
ATAGTR2017 Static and dynamic code analysis for mobile applications - Act ear...
Managing SAP Custom Code
AdaCore Paris Tech Day 2016: Jamie Ayre - Market Perspective
"Multiple Uses of Pipelined Video Pre-Processor Hardware in Vision Applicatio...
Owf 2013 rii moose speaker 2
Quality assurance in practice
Device Independent API design
Reduce API Security Risk by Leveraging Graph Analytics Webinar Slides
Sap Leonardo - what is it, and why would I want one?
Implementation of BI Tool
Photogrammetry Inspection System by Six D Marketing Solutions (P) Ltd Noida
Real-Time Metrics and Distributed Monitoring - Jeff Pierce, Change.org - Dev...
Identify cycling race timing
iNVATERRA Intelligent Automation & Digital Transformation
Big Data Day LA 2016/ Big Data Track - Apply R in Enterprise Applications, Lo...
My Projects & My Stories
TAG17 - O'Zapft is - Daten zapfen leicht gemacht?
sMART Store of Cypher-Annotated Microservices
Ad

More from jamieayre (16)

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

Recently uploaded (20)

PDF
El futuro empresarial 2024 una vista gen
PDF
the role of manager in strategic alliances
PPTX
Hospitality & tourism management.pptxHospitality & tourism management.pptx
PDF
The Evolution of Legal Communication through History (www.kiu.ac.ug)
PPTX
Side hustles: 14 powerful tips to embrace the future of work
PPTX
Accounting Management SystemBatch-4.pptx
PDF
Integrating Porter-Lawler Theory of Motivation and Hofstede's Dimensions of N...
PDF
Shriram Finance, one of India's leading financial services companies, which o...
PDF
Management Theories and Digitalization at Emirates Airline
PDF
France's Top 5 Promising EdTech Companies to Watch in 2025.pdf
PPTX
organizational behavior notes prepared by sonam lama sawan lama
PPTX
IndustrialAIGuerillaInnovatorsARCPodcastEp3.pptx
PPTX
PPT Hafizullah Oria- Final Thesis Exam.pptx
PDF
Chembond Chemicals Limited Presentation 2025
PDF
The Influence of Historical Figures on Legal Communication (www.kiu.ac.ug)
PPTX
Hospitality & tourism management.pptxHospitality & tourism management.pptx
PDF
Nante Industrial Plug Socket Connector Sustainability Insights
DOCX
“Strategic management process of a selected organization”.Nestle-docx.docx
PDF
109422672-Doc-8973-05-Security-Manual-Seventh-Edition.pdf
PPTX
Oracle Cloud Infrastructure Overview July 2020 v2_EN20200717.pptx
El futuro empresarial 2024 una vista gen
the role of manager in strategic alliances
Hospitality & tourism management.pptxHospitality & tourism management.pptx
The Evolution of Legal Communication through History (www.kiu.ac.ug)
Side hustles: 14 powerful tips to embrace the future of work
Accounting Management SystemBatch-4.pptx
Integrating Porter-Lawler Theory of Motivation and Hofstede's Dimensions of N...
Shriram Finance, one of India's leading financial services companies, which o...
Management Theories and Digitalization at Emirates Airline
France's Top 5 Promising EdTech Companies to Watch in 2025.pdf
organizational behavior notes prepared by sonam lama sawan lama
IndustrialAIGuerillaInnovatorsARCPodcastEp3.pptx
PPT Hafizullah Oria- Final Thesis Exam.pptx
Chembond Chemicals Limited Presentation 2025
The Influence of Historical Figures on Legal Communication (www.kiu.ac.ug)
Hospitality & tourism management.pptxHospitality & tourism management.pptx
Nante Industrial Plug Socket Connector Sustainability Insights
“Strategic management process of a selected organization”.Nestle-docx.docx
109422672-Doc-8973-05-Security-Manual-Seventh-Edition.pdf
Oracle Cloud Infrastructure Overview July 2020 v2_EN20200717.pptx

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