Stephen A. Edwards Columbia University Crown
  COMS W4115
Programming Languages and Translators
The Project
Home Project
 Overview
  The focus of 4115 will be the design and implementation of a little language. You will divide into teams and design the goals, syntax, and semantics of your language, and implement a compiler for your language.
 Resources
  PDF File (for Acrobat) A Two-page Introduction to ANTLR
  The ANTLR homepage
  PDF File (for Acrobat) A two-page introduction to the CVS version control system. I strongly suggest you keep your project under some version control system.
 White Paper
  PDF File (for Acrobat) The Java white paper from Sun Microsystems
  C# Introduction and Overview
 Language Reference Manual
  PDF File (for Acrobat) Dennis M. Ritchie, C Reference Manual
  Kernighan & Ritchie, The C Programming Language
  The C Language Reference Manual (DEC)
  PDF File (for Acrobat) The C Language Reference Manual (SGI)
  The C Language Reference Manual (Microsoft)
  Stroustrup, The C++ Programming Language
  The C++ Language Reference (Microsoft)
  PDF File (for Acrobat) The Java Language Specification
  PDF File (for Acrobat) The C# Language Specification
  Aho, Kernighan, and Weinberger, The AWK Programming Language
 Final Report
  PDF File (for Acrobat) A sample final report by Chris Conway, Cheng-Hong Li, and Megan Pengelly from 4115 last term. It includes the white paper, tutorial, language reference manual, project plan, architectural design, and testing plan. It does not include the lessons learned and code listings sections, although it should.
  Source for the very successful MX language project
 
  1. Introduction
    • Include your language white paper.
  2. Language Tutorial
    • A short explanation telling a novice how to use your language.
  3. Language Manual
    • Include your language reference manual.
  4. Project Plan
    • Identify process used for planning, specification, development and testing
    • Include a one-page programming style guide used by the team
    • Show your project timeline
    • Identify roles and responsibilities of each team member
    • Describe the software development environment used (tools and languages)
    • Include your project log
  5. Architectural Design
    • Give block diagram showing the major components of your translator
    • Describe the interfaces between the components
    • State who implemented each component
  6. Test Plan
    • Show two or three representative source language programs along with the target language program generated for each
      • Show the test suites used to test your translator
        Explain why and how these test cases were chosen
        What kind of automation was used in testing
        State who did what
  7. Lessons Learned
    • Each team member should explain his or her most important learning
    • Include any advice the team has for future teams
  8. Appendix
    • Attach a complete code listing of your translator with each module signed by its author
 Groups
AJYN Report Presentation
Flash Animation Language
Neel Goyal Yaniv Schiller Jared Kennedy Ananya Das
BROOM Report Presentation
A Matrix Language
Christopher Tobin Gabriel Glaser Brian Pellegrini Michael Weiss
BSL Report Presentation
Biological Scripting Language
Amna Qaiser Jayavardhan Kota Jared Eng Igor Marfin
CILY Report Presentation
Exactly What The World Needed
Edward Ishak Makiko Yasui Jiwan Choi Jonathan Liu
CLAW Report
Columbia Language for Altering Waveforms
Shloke Mittal Jeffrey Polanco Vivek Ramdev Bill Wang
CRASH Report Presentation
A Practical Graphical Animation Tool
Mikhail Litvin Michael Anikin Vadim Belobrovka Daniel Burdeinick
Creme Report Presentation
Card Game Language (Cards Really Excite Me)
Joshua Mackler James Leslie Anthony Chan Cheryl Lau
eMDL Report Presentation
Extended Motion Description Language
Jerin Kurian Rajesh Banik Andrew Han Russell Klopfer
eMuse Report Presentation
Rapid Screenplay Prototyping Language
Mark Ayzenshtat Elena Filatova Kristina Holst Vladislav Shchogolev
F2 Report
A Macromedia Flash Specification Coding Language
JenYu Wang Jonathan So Shawn Tay Benjamin Chan
GG Report Presentation
We give it to you
Elizabeth Mutter Jacob Porway Jonah Tower Kierstan Bell
ISICL Report Presentation
Intuitive Strategic Intelligence Control Language
Michael Marcus Mark Berman Matthew Keitz Michele Cozart
jGTL Report Presentation
A Graphic Transformations Language
Zhenyu Zhu Corey Kasten Ramiro Ordonez Gianfranco Bonanome
Mx Report Presentation
A Programming Language for Scientific Computation
Yong-Man Ra Chang-Woo Lee Tiantian Zhou Hanhua Feng
OGEL Report Presentation
A LEGO Mindstorm Robot Controller Language
Gerardo Flores Michael Ching Charles O'Donnell Matthew Kalish
PSL Report Presentation
Physical Simulation Language
Taino Ortiz John Rodriguez John Hamer Danian Martinez
SCL Report Presentation
Site Construction Language
Clark Landis Sudip Das Mohamed Nasser
SPCL Report Presentation
Structured Policy Command Language
Aron Wahl Michael Locasto Matthew Burnside Chun Li
SSL Report Presentation
String Searching Langauge
Sandra Macdonald Meera Ganesan Satheesha Rangegowda Dennis Kim
TATA Report Presentation
A Functional Language
Artem Litvinovich Azubuko Obele Raphael Pelossof Isaac Krieger
WPSM Report Presentation
A simple language that transform simple data structure into complex XML
Miqdad Mohammed Seema Gupta Wai Wong Peter Chen
YOLT Report Presentation
Yuan Zheng Omar Ahmed Lukas Dudkowski Takahiro Kuba

Copyright © 2003 Stephen A. Edwards Updated Sat Aug 2 19:15:02 EDT 2003 All Rights reserved