
2 minute read
LITERATURE SURVEY
International Research Journal of Engineering and Technology (IRJET) Volume: 07 Issue: 04 | Apr 2020 www.irjet.net e-ISSN: 2395-0056 p-ISSN: 2395-0072
Advertisement
Vinay Patil1 , Rakesh Pawar2 , Prasad Parab3 , Prof. Satish Kuchiwale4
1,2,3Student, Computer Engineering, SIGCE, Navi Mumbai, Maharashtra, India 4Asst. Professor, Computer Engineering, Smt. Indira Gandhi College of Engineering, Navi Mumbai, Maharashtra, India --------------------------------------------------------------------*** ---------------------------------------------------------------------Abstract - Pseudocode is an essential concept in the process becominggoodatsolvingtypesoftaskssuchastranslating of learning algorithms and programming languages. It can be languages. in both forms, programmatical and natural language. Programmatical pseudocode can be easily parsed because the The traditional compilers first perform lexical analysis, syntax is precise and predictable but natural language produce an abstract syntax tree format, perform pseudocode has unpredictable and informal syntax. optimizationsandthenproducethemachinecode.Thereare Pseudocode in general is not meant to be executable and is also source-to-source compilers which translate one used as references for implementation. This system makes programming language to another. This type of compilers pseudocode executable through providing programming havethesameworkflowbutinsteadofproducingmachine language source code. It can be helpful for students in the code, they translate it to another language. This project learning process. Existing systems used plain neural networks follows the same paradigm of source-to-source compilers with cascade feed-forward backpropagation algorithm. The butinsteaduseMachineLearningtoprocessthepseudocode normal implementation of backpropagation is sufficient in the initial step. The machine learning module will first enough and this project improves upon the architecture by parsethepseudocodeandgenerateanabstractsyntaxtree using recurrent neural networks. This project aims at format which is represent inXML form for easier parsing. providing a system for pseudocode to source compilation or This syntax tree format is then parsed and translated translation. The proposed system first decomposes the recursively,producingthefinaltranslatedcode. informal statements into a formal intermediate representation which is in XML for faster and simple parsing. Then it will be The project is implemented in python using libraries like parsed into Python programming languages. This system will KerasandNumPy.Theprogramhastwotextpanels,leftone be implemented by using RNNs with deep neural network for forpseudocodeandrightonefordisplayingthetranslated sequence to sequence translation with the help of Keras pythoncode.Thetranslatedcodewillappearintherighttext library. panelaftertheuserpressesthetranslatebutton.Whenthe Thisprojectisaboutcreatinganapplicationwhichtranslates pseudocode to Python. Generally when learning about programming languages and coding, we first learn about different algorithms in our courses. These algorithms are written in simple English. This simple English form or pseudocode form is generally meant to represent the meaning and logic of the program without any syntax or programminglanguagefeatures.Thismakestheprocessof learningaboutcorefundamentalprogrammingcomponents likeconditionalstatements,loopsorconceptslikerecursion easiertounderstand. Giving students an option to test their algorithms by translatingthepseudocodetoaprogramminglanguagewill enhances the learning experience. But pseudocode is inherentlynotmeanttobeexecutable.Thereisnostandard way of writing pseudocodes so creating a traditional compiler or interpreter for it is not feasible. Machine Learning techniques such as Natural LanguageProcessing could be used for such tasks. NLP systems are already userwishestoruntheprogram,theconsolepanelisbrought Key Words: Sequence to Sequence, Translation, intofocusandallthestandardoutputisdisplayedincluding Pseudocode, Machine Learning. inputprompts.
1. INTRODUCTION
1.1 Objective
Weaimtoachievethefollowingthroughthisproject: The objective is to create a program which translatespseudocodeintoexecutablepythoncode. To create generic and abstract guidelines for writingpseudocodebutmakingitextensibleaswell foradvancedusers. To use machine learning algorithms for effective translation of natural language statements into expressions. ImplementthemachinelearningmoduleinKeras.
1.2 Scope
The program will only be able to parse evaluable andlogicalstatementswhicharewritteninsimple plain English, instead of conceptual or vague sentences.