Code Monkey home page Code Monkey logo

cs496-plaf's Introduction

Programming Language Fundamentals

These notes and accompanying OCaml source code take a hands-on approach in introducing fundamental programming language concepts.

You will need to install:

  • opam: the package manager for OCaml. Follow instructions here: https://opam.ocaml.org/doc/Install.html
  • ocaml: the language we use as host for implementing our interpreters. Follow the instructions here: https://ocaml.org/docs/install.html
  • menhir: the lexer and parser generator. Just type opam install menhir
  • ounit: the unit testing library. Just type opam install ounit2
  • dune: the standard build system for OCaml. Just type opam install dune

Building and Running the Interpreters

This is a two step process. First you build and install the parser, then you build and run the interpreters.

Building and Installing the Parser

In the folder src/parser_plaf, type the following

    # dune build
    # dune install

Building and Running the Interpreters

In the folder src/let/lib, type the following

    # dune utop

Upgrading dune/menhir

If you get error "Error: Unbound module MenhirLib.LexerUtil", try opam upgrade menhir

If you get "Error: Version 3.2 of dune is not supported.", try opam upgrade dune

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.