C++ simulation in the browser

Carregant...
Miniatura
El pots comprar en digital a:
El pots comprar en paper a:

Projectes de recerca

Unitats organitzatives

Número de la revista

Títol de la revista

ISSN de la revista

Títol del volum

Correu electrònic de l'autor

Tutor / director

Tribunal avaluador

Realitzat a/amb

Tipus de document

Treball Final de Grau

Condicions d'accés

Accés obert

item.page.rightslicense

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ó de la persona titular dels drets

Assignatures relacionades

Assignatures relacionades

Publicacions relacionades

Datasets relacionats

Datasets relacionats

Projecte CCD

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.

Descripció

Provinença

Titulació

GRAU EN ENGINYERIA INFORMÀTICA (Pla 2010)

Document relacionat

Citació

Ajut

DOI

Versió de l'editor

Altres identificadors

Referències