MuLE Multiple Language Environment An Environment for Interpreter-based Projects for the Programming Languages Course - PowerPoint PPT Presentation

Slide1 l.jpg
Download
1 / 18

  • 313 Views
  • Updated On :
  • Presentation posted in: Pets / Animals

MuLE Multiple Language Environment An Environment for Interpreter-based Projects for the Programming Languages Course. partially supported by the National Science Foundation CCLI-DUE 9952398. People. Principal Investigators John Barr Ithaca College

Related searches for MuLE Multiple Language Environment An Environment for Interpreter-based Projects for the Programming Languages Course

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

MuLE Multiple Language Environment An Environment for Interpreter-based Projects for the Programming Languages Course

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Slide2 l.jpg

MuLEMultiple Language EnvironmentAn Environment for Interpreter-based Projects for the Programming Languages Course

partially supported by the National Science Foundation CCLI-DUE 9952398


People l.jpg

People

Principal Investigators

John Barr Ithaca College

Laurie A. Smith KingCollege of the Holy Cross

Consultants

Ben Coleman,PhD candidate, The College of William & Mary in VA

(Computer Science B.S. from Ithaca College 1997)

SLic.s implementation, SLic Labs

Barbara MoskalThe Colorado School of Mines

Assessment Expert


Students l.jpg

Students

Holy Cross

Dan Conti (2003); CVS, Technical support, Web Page

Rachel Giguere (2000); SPoc.s port, features, Manual

Sean Harrington (2003); Testing, Document Proofreading, pre-labs

Raquel Ruano (2000); Testing, CVS

Matt Rinaldi (2001); SLam.s port, features, Manual, Web Page Scripting

Ithaca College

Laura Henry (2001); SOOP.s port, several classes, Manual

Hanh Pham (2002); SOOP.s port, several classes, Manual

Lora Kassab (1996); pre-labs

Jamie Scheinblum (2002); Utilities.s port, The Launcher

Christian Stoehr (2000); Utilities.s port, The Launcher


A glance at mule l.jpg

A Glance at MuLE


Mule multiple language environment l.jpg

MuLEMUltiple Language Environment

  • Tool designed for the programming languages design and implementation course

  • In development since 1994

  • Used at Ithaca College and Holy Cross

  • NSF CCLI-DUE #9952398 (awarded January 2000)

    • John BarrIthaca College

    • Laurie Smith KingHoly Cross

  • Innumerable students (Literacy, PL, Senior Project)


Mule structure l.jpg

MuLE: Structure

  • Launcher (extensible)

  • Utilities file

  • 4 Interpreters

    • SLam (Simple LAMbda): functional/applicative

      Awful choices: SiFL, Sapp, Sunc

    • SPoc (Simple PrOCedural): imperative

    • SOOP (Simple Object Oriented Paradigm)

    • SLic (Simple LogIC): logic/declarative


Mule structure8 l.jpg

MuLE: Structure

  • Written in Scheme

    • Simple to learn (truth in advertising: complex features)

    • Small language (smaller than Lisp)

    • Functional paradigm

  • Uses DrScheme

    • Provides GUI elements

    • Truly Cross Platform

    • Freely available http://www.cs.rice.edu/CS/PLT/packages/drscheme/


Mule use l.jpg

MuLE: Use

  • Program in each MuLE language

  • Examine interpreters to learn how language features are implemented

  • Extend interpreters (counter-example/PIC)

  • Write a new language (PIL)


Mule use examples l.jpg

MuLE: Use examples

SPoc

program one

declare a / b / c $

begin

a = 1 $

b = 2 $

c = ( 2 * a + b ) $

print a $

end

SOOP

(assign a make-box)

(send a set-name aaa)

(send a set-val 1)

(assign b make-box)

(send b set-name bbb)

(send b set-val 2)

(assign c make-box)

(send c set-name ccc)

(send c set-val send 2 * send a + b)

SLam

(assign a 1)

(assign b 2)

(assign c (* 2 ( + a b ) ) )


Mule slic l.jpg

MuLE: SLic

b { w } .q { X } if b { X } and c { X } .

b { x } . r { X } if c { X } .

b { y } . s { X } if r { X } .

c { y } .

c { z } .

?- q { X } .

?- s { X } .

(( X y ))

(( X z ))

(( X y ))


Running mule l.jpg

Running MuLE

  • Start PL Scheme, run Launcher

    • Starting MuLE is not platform independent

    • Windows:Draglauncher.sontoDrScheme icon

    • MacOS:Draglauncher.sontoDrScheme icon

    • Unix:Typedrscheme launcher.s


Running mule13 l.jpg

Running MuLE

  • Start PL Scheme , run Launcher


Running mule14 l.jpg

Running MuLE

  • Execute


Running mule15 l.jpg

Running MuLE

  • Execute


Running mule16 l.jpg

Running MuLE

  • Choose a language


Running mule17 l.jpg

Running MuLE

  • Get a language window


Running mule slam l.jpg

Running MuLE (SLam)

  • Program


  • Login