Presentation is loading. Please wait.

Presentation is loading. Please wait.

GPS The GNAT Programming Studio GPS The GNAT Programming Studio Presentation cover page EU Vincent Celier FOSDEM 8-9 February 2009 Senior.

Similar presentations


Presentation on theme: "GPS The GNAT Programming Studio GPS The GNAT Programming Studio Presentation cover page EU Vincent Celier FOSDEM 8-9 February 2009 Senior."— Presentation transcript:

1 GPS The GNAT Programming Studio GPS The GNAT Programming Studio Presentation cover page EU www.adacore.com Vincent Celier FOSDEM 8-9 February 2009 Senior software engineer, AdaCore

2 Slide: 2 GPS IDE Developer-friendly Easy to learn and use Multi-language: Ada, C, C++ Multi-platform –Linux, Unix, Windows,... Native & cross development Same GUI on all platforms Flexible MDI Customizable Extensible, open technology –Easy to plug-in 3rd party tools

3 Slide: 3 GPS: A Single IDE for Native & Embedded Development Native/Host/Remote Development Embedded Development Mixed-Language Development A common technology in a Single IDE

4 Slide: 4 GPS is an Open Environment All tools also available from the command line –You can use them in text-only mode (e.g. for use in scripts) –Call them from your own tools All formats use plain text –E.g. the project file Extensible, open technology –Can plug-in 3rd party tools

5 Slide: 5 GPS Tools (1) Language-sensitive editor Automatic generation of body files Source code reformatting Intelligent source code navigation Context-sensitive search and replace Application builder Version control (CVS, ClearCase, etc.) Visual file comparison

6 Slide: 6 GPS Tools (2) Graphical source-level debugger Project and program entities explorer Project wizard Types and program entities graphs Call graphs File dependency graphs Project dependency graphs Unit testing

7 Slide: 7 GPS Tools (3) Documentation generator Metrics VCS Activities Code refactoring …

8 Slide: 8 Future GPS Tools Scope folding CPU and Memory profiling More integrated and powerful remote development Elaboration dependency graph Support for gcov / lcov … and many more to come !

9 Sectional cover - Embedded board GPS Screen Shots

10 Slide: 10 Flexible Multiple Document Interface (MDI) GPS windows can be confined to the main GPS area or they can be left floating and handled individually on the desktop. The image shows the Searchc window, project explorer, entity browser, GPS editor, location window and outline view docked inside the main GPS area. An additional GPS editor window is left floating.

11 Slide: 11 Language Sensitive Editor The GPS editor highlights programming language keywords, comments, and strings. It offers automatic code indentation and identifier completion. Tool tips show cross-reference information during development and object values during debugging. Users can move between and highlight matching delimiters such as (), [], or {}. GPS is also integrated with external editors such as Emacs or vi.

12 Slide: 12 Code Navigation Navigating within your project sources is simple with GPS. Right click on a program entity in the editor to see its declaration, or to find all its local or global references. With GPS you can see call graphs, display the relationship between program entities, or toggle between the spec and body of packages, tasks, and subprograms.

13 Slide: 13 Search and Replace GPS provides a context-sensitive search and replace capability. You can search within the project explorer, project sources, the current file or a given set of files. The screen shot shows the result of a search for entity "Push" in the project sources. A search for all occurrences was requested. The result is displayed in the locations window.

14 Slide: 14 Automatic Code Fixing GPS allows easy browsing of compilation errors and offers the possibility to automatically fix most of them. The screen shot shows the result of a project build. There is one compilation error. If the programmer clicks on the wrench icon on the left of the "Locations" windows, GPS will automatically correct the misspelled identifier.

15 Slide: 15 Version Control GPS integrates several version control systems (VCS). The screen shot shows the VCS explorer on the left. Icons show source file status: up-to-date, modified, needing update, etc. On the right an annotated source showing the revision, author and date for each line. On the bottom the revision history window indicates the reasons for each revision.

16 Slide: 16 Visual File Comparison GPS allows to visually compare two files in a colorful fashion. The screen shot shows the reference file on the left. Added, modified or deleted lines in the reference are in gray, while they are in green, blue, and pink (respectively) in the compared version. To enhance readability GPS synchronizes file display so that matching lines are adjacent.

17 Slide: 17 Debugger GPS includes a source and assembly-level debugger capable of graphically displaying program data structures in the same way a programmer would draw them. The screen shot shows such a data structure on the left hand-side. Data structure display is interactive: one can click on pointers, in blue on the screen, to display the objects pointed by them.

18 Slide: 18 Project Explorer The project explorer allows developers to examine the structure and contents of a project, update its configuration, and navigate within its items: sub-projects, source files, and program entities. The screen shot shows, on the left, the project explorer of a simple project. Clicking on subprogram "Read" displays it on the editor window.

19 Slide: 19 Project Wizard The GPS project wizard allows developers to create complex projects quickly. Among other things, developers can select the version control system, the source files and directories, the naming conventions, and the build parameters for their project.

20 Slide: 20 Program Entity Graph GPS generalizes the notion of a class graph to include all program entities such as objects and subprograms in addition to types. After displaying the content of an entity in the graph, the type of the objects, fields, parameters, etc, in blue in the screen shot, can be clicked to display the corresponding entity type.

21 Slide: 21 Call Graph The call graph allows developers to picture the call relationship between subprograms in the project. Like in all GPS graphs, developers can choose between straight and orthogonal arcs or navigate through and zoom in or zoom out graphs. Developers can move items in the graph and highlight or hide their arcs.

22 Slide: 22 Call Graph (tree view) The call graph is also available using a tree view.

23 Slide: 23 File Dependency Graph Programmers can picture source file compilation dependencies with the GPS dependencies browser. The screen shot shows the graph after the developer performed a zoom out operation to have a more global view of the compilation dependencies in the project.

24 Slide: 24 Project Dependency Graph As shown in the screen shot, project dependencies can be viewed in two ways: the project explorer on the left gives a tree view of the dependencies (sub-projects are duplicated to represent the graph as a tree), while the project browser in the middle displays dependencies as a graph. The "!" on the main project means the project has been modified.

25 Slide: 25 Metrics Metrics can be computed by GPS for a specific file of the project, or for the whole project. The result is shown on the left window of the above screenshot.

26 Slide: 26 Documentation generator The screen shot shows an example of html documentation automatically generated using GPS. This documentation contains all functions or procedure declaration along with their own documentation.

27 Slide: 27 GPS is Customizable From its menus, to its editor, debugger, browser and graph windows, to its key bindings and general appearance, GPS allows users to customize many of its aspects. The screen shot shows the preferences window after customizing the editor windows: the color of the current line is now green, while keywords are now white on a blue background.

28 Slide: 28 GPS is Extensible Extending GPS to integrate additional tools that you can launch via new buttons and custom menus is a simple matter of writing an XML file. The screen shot shows a new CUSTOM menu and two new smiley buttons from which new tools can be launched. The XML file to add these items is shown in the editor window.

29 Sectional cover- Two guys working together Summary

30 Slide: 30 GPS Summary With GPS you can Develop applications Navigate and understand the code Maintain your applications With GPS you can Develop applications Navigate and understand the code Maintain your applications GPS helps you: Manage software complexity Improve code quality Increase productivity GPS helps you: Manage software complexity Improve code quality Increase productivity

31 Slide: 31 Bring AdaCore Quality to Your Projects


Download ppt "GPS The GNAT Programming Studio GPS The GNAT Programming Studio Presentation cover page EU Vincent Celier FOSDEM 8-9 February 2009 Senior."

Similar presentations


Ads by Google