C++ simulation in the browser
Visualitza/Obre
Estadístiques de LA Referencia / Recolecta
Inclou dades d'ús des de 2022
Cita com:
hdl:2117/100273
Tipus de documentTreball Final de Grau
Data2017-01
Condicions d'accésAccés obert
Tots els drets reservats. Aquesta obra està protegida pels drets de propietat intel·lectual i
industrial corresponents. Sense perjudici de les exempcions legals existents, queda prohibida la seva
reproducció, distribució, comunicació pública o transformació sense l'autorització del titular dels drets
Abstract
The aim of this thesis is to design, develop and evaluate an open source tool to edit, run and
debug C++ code inside a webpage without requiring a remote server to compile and execute
the programs. C++ is widely used in education and industry, but to date no tools that run C++
code natively in the browser have been found. For this reason, it is been decided to develop
an interpreter for a small subset of C++ that runs in a simple web interface. We call this tool
C−−. This thesis parts from an older project able to interpret a small subset of C++ in the
browser, and then designs and implements several features such as a debugger, non-blocking
input/output operations, and a public API. In a second stage a web interface is built to allow
users running and debugging code in a simple manner. After the first implementation of the
web interface, feedback from testers is received and several adaptations for the improvement
of the user experience are undertaken. Moreover, several efficiency tests have been performed
to compare C−− execution times to other existing tools, such as GCC, JavaScript or Python.
Finally, the tool is deployed to cmm.jutge.org where anyone can use it. L’objectiu d’aquest projecte final de carrera és dissenyar, desenvolupar i evaluar una eina
de codi obert capaç d’editar, executar i debugar codi C++ dins una pàgina web sense que
es necessiti un servidor remot per compilar i executar els programes. C++ és molt popular
en el mon educatiu i a la indústria, però a data d’avuí no s’ha trobat una eina que sigui
capaç d’executar codi en C++ de forma nativa dins el navegador. Per aquesta raó s’ha
decidit desenvolupar un intèrpret per un petit subconjunt de C++ que s’executi dins una
interfície web. Aquesta eina l’hem anomenat C−−. Aquest projecte de final de carrera
prové d’un projecte anterior capaç d’interpretar un petit subconjunt de C++ en el navegador,
que posteriorment s’ha ampliat per donar suport a noves carecterístiques com un debugger,
operacions d’entrada/sortida no bloquejants i una API pública. En la segona fase del projecte
s’ha desenvolupat una interfície web per a què els usuaris puguin executar i debugar codi
d’una forma molt senzilla. Després de la primera implementació de la interfície web, s’han
realitzat proves amb usuaris on s’ha recollit el seu feedback i s’han fet les modicacions
pertinents per tal de millorar l’experiència d’usuari. A més, s’han realitzat diversos testos
d’eficiència on es mesura el temps d’execució de programes en C−− i es comparen els
resultats amb altres eines existents, com GCC, JavaScript o Python. Finalment, l’eina és
desplegada a cmm.jutge.org on qualsevol persona hi pot accedir.
MatèriesApplication software, Computational grids (Computer systems), Programari d'aplicació, Computació distribuïda
TitulacióGRAU EN ENGINYERIA INFORMÀTICA (Pla 2010)
Col·leccions
Fitxers | Descripció | Mida | Format | Visualitza |
---|---|---|---|---|
122226.pdf | 555,8Kb | Visualitza/Obre |