Open Access. Powered by Scholars. Published by Universities.®

Articles 1 - 6 of 6

Full-Text Articles in Programming Languages and Compilers

Source Code Comment Classification Artificial Intelligence, Cole Sutyak Jan 2021

Source Code Comment Classification Artificial Intelligence, Cole Sutyak

Williams Honors College, Honors Research Projects

Source code comment classification is an important problem for future machine learning solutions. In particular, supervised machine learning solutions that have largely subjective data labels but are difficult to obtain the labels for. Machine learning problems are problems largely because of a lack of data. In machine learning solutions, it is better to have a large amount of mediocre data than it is to have a small amount of good data. While the mediocre data might not produce the best accuracy, it produces the best results because there is much more to learn from the problem.

In this project, data …


Android Game, Ryan Weston Jan 2020

Android Game, Ryan Weston

Williams Honors College, Honors Research Projects

The purpose of this project was to create an endless runner game for Android coded in Java and XML and developed in Android Studio. In the game, the player controls a frog that jumps from lily pad to lily pad to avoid logs moving toward the player. The player must also maneuver the lily pads as they can randomly disappear. There are three difficulties in the game that vary the disappearance rate of lily pads as well as the frequency and acceleration rate of the log obstacles. The game also has a scoring system and saves the high score locally …


Elephant 2000: A Programming Language For Remembering The Past And Building On It, Kerry J. Holmes Jan 2018

Elephant 2000: A Programming Language For Remembering The Past And Building On It, Kerry J. Holmes

Williams Honors College, Honors Research Projects

Elephant 2000 is a programming language to specify programs that accept user speech as text inputs and outputs speech text. The inputs and outputs are based on Dialogue Act theory which describes several forms of speech outputs, such as requests, questions, and answers. The language also relies on Named Entity Recognition to determine what types of objects a user references. These entities include persons, locations, times and so on. Using these attributes of user speech, a program is able to perform simple rule matching and pattern recognition to respond to input. The result is a programming language with English like …


Pip: An Abstract Dataplane And Virtual Machine, Samuel Goodrick Jan 2018

Pip: An Abstract Dataplane And Virtual Machine, Samuel Goodrick

Williams Honors College, Honors Research Projects

We present an abstract machine and S-expression-based programming language to describe OpenFlow-style software-defined networking. The implemented Pip virtual machine and language provide facilities for packet decoding, safely writing and setting bitfields within packets, and switching based on packet contents. We have outlined an abstract syntax and structural operational semantics for Pip, thus allowing Pip programs to have predictable and provable properties. Pip allows for easy and safe access and writing to packet fields, as well as a programmable packet pipeline that will rarely stall.


Srcmx: A Gui Application For Srcml, Brian Kovacs Jan 2016

Srcmx: A Gui Application For Srcml, Brian Kovacs

Williams Honors College, Honors Research Projects

srcMX is a GUI application that utilizes the srcML command-line tool to convert and display source code using the srcML format. The goal is for srcMX to promote the manipulation and exploration of source code using srcML. I also hope that the user-friendly nature inherent to GUI applications allows srcMX to introduce a larger audience to the many features offered by srcML. The application is written in C++ using the Qt and Qt Quick frameworks.


Constrained Templates In C++, Braden L. Obrzut Jan 2015

Constrained Templates In C++, Braden L. Obrzut

Williams Honors College, Honors Research Projects

This paper seeks to answer what C++ concepts are, the benefit they provide to C++ programmers, and where we would like to go looking ahead. To accomplish this, it will examine the current state of generic programming in C++, look at what other languages do to avoid the issue, and how concepts can be used to solve the problem in a manner which provides more freedom to the programmer. In the general sense, concepts allow the programmer to specify preconditions which must be satisfied on the inputs to generic code. The desire being to fully describe what is required by …