| List of Software Projects |
| Name | Language | Status | Deliverable | Start | Description |
| Sol | | | Github Repository | f14 |
A simple scripting language developed for the IIAG scripting language arms race during Fall 2014 (iiag,
Eric Richter <richteer> and Christopher Harding <hardinc>). The language
is implemented using a Flex and Bison analyzer that compiles to a syntax tree running on its own runtime, and boasts both an easy-to-learn, flexible
syntax (like the Lua it was designed to replace), a simple modern C interface, extensibility from both the language and its runtime, and
advanced features such as syntax reflection and a foreign function interface.
|
| Viper | | | | s15 |
A theorized successor to Sol, designed to overcome Sol's shortcomings (and change the name away from the same acronym as Simple Object Language).
Tentative features include less memory leaks, a more robust internal interface, a move toward more powerful expressions (including control constructs
like "if/else" as a ternary operator, and loop break taking a "return value" that represents the value of the loop), and other small, non-user-visible
improvements to performance and memory use.
|
| DSL | | | Github Repository | s15 |
Pronounced "diesel," this is the Data Structure Library aboriginal to Sol, in a standalone form. The present version supports only abstract sequences
implemented as arrays and linked lists. A strong focus is placed on speed and stability. The internal interfaces provide the proper callbacks to
integrate with most memory managers/garbage collectors, including Sol's own reference counting scheme.
|
| DSL2 | | | Github Repository | s15 |
A successor to DSL, providing more types (including mapping types) and a stronger polymorphic type system (still in ANSI C).
|
| NOM | | | Github Repository | f14 |
Network Object Mirroring is a Python module using the Unified Packet Protocol (bundled therein) over UDP to give Remote Procedure Call and data
field access to Python objects transparently over a network. The protocol is symmetric, allowing a peer to access the data of (or call the methods
on objects of) any other peer so long as a rendezvous point is provided (which may be either of the peers themselves).
|
| Drizzle | | | Github Repository | s14 |
Project Drizzle is a UDP-transported network protocol that attempts to connect peers participating in any island in a complete mesh. Using NAT
hole-punching, any peer that can connect to one node can connect to all nodes in that island. The present implementation uses a state-machine-based
network model to maintain these connections, but does not pass any non-control data (and is therefore of limited use, except as a theoretical tool).
|
| GDTS | | | | s15 |
Graph Directed Term Substitution (or "Grand Dance, Techno Style") is a theoretical Syntax Translator designed primarily to generate
arbitrarily-retargettable assembly for extremely diverse computational systems from a consistent frontend compiler. Its goals include the ability
to target "real" architectures such as x86/x86_64 and ARM, "obscure" architectures such as OpenRISC and RISC-V, and "toy" architectures such as
Zyelios (Zyelios ISA, "Black Phoenix") and Terniac
(terniac, Alan Beadle <beadleha>). The theory of operation is in finding series of
substitutions that eventually reduce an input program to its terminals (a form of possibly non-deterministic CFG), and thus has none of the simpler
ideas of register allocation stacks or expression evaluation algorithms.
|
| Ternas | | | Github Repository | s15 |
Ternas is the Terniac assembler (terniac, Alan Beadle <beadleha>) reimplemented in Sol
for extensibility and to overcome some of the more mundane limits of the naïve assembler (idem).
|
| sspas | | | Github Repository | s15 |
sspas ("Something, Something, Pascal") is a simple Pascal compiler for CS445 (the "Dragon Project"). If and when completed, it will feature unbounded
arrays (equivalent to pointers), native structure/container types, and other features beyond the specification.
|
| COSI EVENCHUR | | | Webpage | s15 |
COSI EVENCHUR is a game like COSI Adventure (Alan Beadle <beadleha>).
|
| List of Services |
| Name | Status | Deliverable | Description |
| Print | | print.cslabs.clarkson.edu |
The CSLabs printing service provides a web-based interface for printing documents, as well as managing quotas and tracking usage statistics.
It is currently not a part of IPA, and runs Debian Linux, serving a Python WSGI application whose code is available in another
Github repository.
|
| Eldwyn | | eldwyn.cslabs.clarkson.edu, eldwyn.nexusg.org |
Eldwyn is an old SuperMicro 1U meant to host non-IPA, mostly-trivial services for the labs and otherwise. Current client services include one long-running
Minecraft server (Bevo's Tech Pack, version 11 Full, all recommended), a Garry's Mod server, and a Team Fortress 2 server.
|