Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their...
Transcript of Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their...
![Page 1: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/1.jpg)
Dynamic Languages Toolkit
Presented by Andrey Tarantsov
![Page 2: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/2.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 2
Dynamic Languages Toolkit
Serves as a foundation for scripting and dynamically-typed language IDEsGeneralizes JDT code and follows its architectureProvides exemplary Python, Ruby and TCL IDEs
![Page 3: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/3.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 3
What’s Inside DLTK?
Runtime
Launch Debugger Console Testing
User Interface
Editor Views Wizards Preferences
Core
Model AST Search Engine Documentation
Static Checks AST DOM Refactoring Type Inference
![Page 4: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/4.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 4
Structural Project Model
Structural elements:ProjectsCode folders and code librariesSource modulesTypes, Functions, VariablesPackage and import declarations
Environment configuration
![Page 5: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/5.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 5
Abstract Syntax Tree
Extensible with language-specific node types and attributesUsed by completion, search and selection engines
![Page 6: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/6.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 6
Type Inference
Under researchAttempt to implement base algorithm in language-independent fashionUsed to improve:
code analysiscode assistancerefactoringcode verification and error detection
![Page 7: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/7.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 7
Code Analysis
Based on Core DLTK infrastructureResearch to provide common code analysis in a language-independent way
![Page 8: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/8.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 8
Launch and Debug
Environment configuration based on different interpreter types and their installationsFull featured Eclipse-based debugger for all scripting languages providedRemote debugging and launchingDebug based on open DBGp protocol (xdebug.org)
![Page 9: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/9.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 9
Interactive Console
Common console protocolRemote consoleCode completion & assistanceAll standard features
![Page 10: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/10.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 10
Editor
Easily extensible with:FoldingIndentingFormattingCode assistance / SelectionHighlighting / Advanced highlighting
![Page 11: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/11.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 11
Views
Script ExplorerOutlineCall HierarchiesNavigation (packages, types, functions)
Type HierarchyQuick Outline / Quick Hierarchy
![Page 12: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/12.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 12
More UI
Project propertiesWizardsPreference pagesSearch UI
![Page 13: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/13.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 13
DLTK ExtensibilityCore
Runtim
e
Model AST Search Engine Documentation
Static Checks AST DOM Refactoring Type Inference
Launch Debugger Console Testing
—Structure parser —Match locator
—Match parser
—Index requestor
—Documentation—providers
—Installation types
—Environment—configuration
—Interpreter-side—implementation
—Test framework—support
—Source parser
UI
Editor Views Wizards Preferences
—Highlighting
—Folding
—Indenting
—Code assist
—Configuration
—Interpreter-side—implementation
![Page 14: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/14.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 14
Codebase Statistics
TruStudio DLTK(current state)
Common 3.8 Mb 3.4 Mb
PHP 0.9 Mb —
Python 0.8 Mb 0.3 Mb
TCL — 0.3 Mb
Ratio 4:1 10:1
![Page 15: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/15.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 15
Which Languages is DLTK for?
Perfect Fit Good Fit
Don’t Fit
—Python—Ruby—Perl—PHP—VBScript—Smalltalk—ActionScript 3—ECMAScript 4—and much more…
—TCL—Lua—ECMAScript 3—Objective C—C++
—Lisp—Prolog—Scheme
![Page 16: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/16.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 16
Benefits for CommunityEnd users receive high-quality Python, Ruby and TCL IDEs with modern JDT-alike features
Developers may implement support for the language of their choice with less effort
Academic organisations get a base for research (type inference, code analysis, etc)
Benefits for other Eclipse projects interested in scripting languages support
Learn from JDT generalization experience
![Page 17: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/17.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 17
Current Community
Community site at www.eclipsedltk.orgComplete infrastructure: nightly and integration builds, CVS, bug trackerInterest and contributions from other projects and companies
Cisco Systems, Inc. (TCL support)Eclipse Perl IDE (e-p-i-c.sourceforge.org)
![Page 18: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/18.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 18
Initial Team
xored software, Inc.Andrey PlatovAndrey SobolevAndrey TarantsovDmitriy KovalevMikhail KaluginYuri Baburov
![Page 19: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/19.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 19
Deliverable Schedule
January 23, 2007Preliminary DLTK Core and TCL IDE complete
March 1, 2007DLTK Core 1.0 completePython IDE completeRuby IDE completeDocumentation complete
![Page 20: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/20.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 20
Future Directions
Type inference improvementsCode analysis improvementsRefactoring improvementsJDT integrationMore languages to be supported
![Page 21: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/21.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 21
Thank you!
Questions?Please take a look on screenshots following
![Page 22: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/22.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 22
Screenshots
![Page 23: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/23.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 23
More Screenshots
![Page 24: Dynamic Languages Toolkit - Eclipse Languages Toolkit... · 2017. 11. 1. · language of their choice with less effort Academic organisations get a base for research (type inference,](https://reader033.fdocuments.net/reader033/viewer/2022052021/60362bb1acaaf61848091d05/html5/thumbnails/24.jpg)
Copyright © 2006, Xored Software, Inc. — Made available under the EPL v1.0 24
Even More Screenshots