pide

27
PIDE Python Integrated Development Environment Under the Guidance of : Mrs.Ch.Swapna Priya Associate Professor Pydah College of Engineering & Technology Presented by : K.Prasanth (10K11A0576) K.Pavan Kumar (10K11A05A4) Ruchin Kumar Sharma (10K11A05B1) A.Santosh Jaggappa Rao (11K15A0513)

Upload: prasanth-karri

Post on 26-May-2017

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Pide

PIDEPython Integrated Development Environment

Under the Guidance of :Mrs.Ch.Swapna Priya Associate ProfessorPydah College of Engineering & Technology Presented by :

K.Prasanth (10K11A0576)K.Pavan Kumar (10K11A05A4)Ruchin Kumar Sharma (10K11A05B1)A.Santosh Jaggappa Rao (11K15A0513)

Page 2: Pide

Abstract To simplify the process of the python development by means of developing an integrated development environment, which enables quicker and efficient development of python projects by enabling various features in the IDE such as Auto Completion, Code Library, Error Analysis, Project Management, Search within code, Snippets, PEP-8 Validation, Profiler.

Page 3: Pide

IntroductionIntegrated Development Tools plays a major role in development of Software Projects varying from small scale to large scale. IDE’s play a major role in reducing the workload of the programmer.They also provides programmers access to different tools such as Debugger, Profiler, Auto Completion.

Page 4: Pide

Existing Systems & their Disadvantages

Eclipse • Provides python development using 3rd party

plugins • No support for Profiler• No support for PEP-8 ValidationKomodo

• Not an open source IDE• No support for PEP-8 Validation

Page 5: Pide

Proposed System•Develop an IDE independent of external plugins and tools• Implement PEP-8 Validation to improve code readability and consistency• Implement Profiler to make optimization easier for the developers

Page 6: Pide

Advantages

•Open Source IDE • Independent of 3rd party plugins or software• PEP-8 Validator to improve code consistency • Profiler to optimize hotspots•Easier Maintenance and Extension with the help of python modules

Page 7: Pide

ComparisonEclipse Komodo PIDE

Independent of External Plugins

PEP-8 Validation

Profiler

Open Source IDE

Page 8: Pide

System Requirements

• Operating System : Windows, Mac OS X, Linux• FrontEnd : PyQt4, Pywin32 • Programming Language : Python3

Software Requirements

Hardware Requirements• RAM : 256 MB•Hard Disk : 256 MB

Page 9: Pide

Modules• Code Editor• Compiler• Pep8 Validator• Profiler

Page 10: Pide

Code Editor•Main Module of the System• Provides Interface for the User to Write the Source Code• Provides Users the access to different tools and Extensions• Provides Users the ability to Customize their User Interface

Page 11: Pide

Compiler•Scanning : breaks the input into list of tokens•Parsing : ensures that a list of tokens has valid syntax according to the grammar and generates Abstract Syntax Tree(AST)•Semantic Analysis: traverses the Abstract Syntax Tree (AST), collecting information and checking that input program had no semantic errors•Code Generation: traversing the Abstract Syntax Tree, generates the intermediate representation of the source code

Page 12: Pide

InputScanning • Token List

Parsing • Abstract Syntax Tree

Semantic Analysis

Code Generation

• Abstract Syntax Tree

Page 13: Pide

Pep8 Validator• PEP - Python Enhancement Proposals• Pep8: Style Guide for Python Development•Automates Pep8 Validation using Existing Manual Pep8 Validator• Improves code readability and helps to maintain consistency of the source code over large group of developers

Page 14: Pide

Profiler•Analyzes the Code Performance and detects the “Hotspots”• The code profiler analyzes programs on function-by-function basis, tracking which function calls are made, and how long calls take to complete.• It helps the developers to optimize their code

Page 15: Pide

Usecase

Page 16: Pide

Class Diagram

Page 17: Pide

Sequence Diagram

Page 18: Pide

Activity Diagram

Page 19: Pide
Page 20: Pide

Pep8 Alerts

Page 21: Pide

Profiler Results

Page 22: Pide

Tracer

Page 23: Pide

ConclusionPython IDE is developed with the following features, such as Profiler, Pep8 validator, Syntax Highlighter, Code Library, Code Snippets, Code Intelligence. Etc.

Page 24: Pide

Dependencies• Python3 ( For Running Programs )• Pyflakes ( Python Passive Checker )• PyQt4 ( To Develop GUI Widgets like Buttons, Text Boxes.. etc. )• Pywin32 ( For stamping executables if running from source code )•Rope ( Python Refactoring Library )

Page 25: Pide

Future Work• Support for Custom Light and Dark Themes in the Editor• Support for Syntax Coloring for XML, HTML and CSS• Support for other Scripting Languages that accompany Python Development • Integrate Python Open Source Libraries to enable easier development of projects

Page 26: Pide

ANY QUERIES ?

Page 27: Pide

Thank You