The final will be given individually and orally. They will occur at the beginning of the start of your groups presentation time slot.

The exam will consist of two questions.

  1. You are given the following grammar for simple regular expressions.

    S-> E*
      | O
    E-> T"*"
      | T"+"
      | T"?"
    T-> "."
      | string
      | "("S")"
    O-> empty
      | NEO
    NEO-> E
        | E"|"NEO
    You will also be given a string that is parsed by this grammar. You will then be asked to build a CST and an AST for that string.

  2. This question is about language design. We will discuss design issues for a given domain specific language. These issues will have to do with all aspects of the course. They may include topics such as scanning/parsing, weeding, symbol table, typing, and codegen/interpretation.

    You get to choose what language you will be discussing. Your choices are:

    • Dot

      Dot is a graph drawing language. You can find information about dot on the Graphviz website, and you can also find the grammar.

    • XML

      XML is a data formatting language. You can find information about it at the W3C.

    • Context Free Art

      Context Free Art is a language for specifying images. It uses the concept of context free languages to create these images. You can find information at the context free art webpage.

    • Your Choice

      You can also choose your own language to discuss. Make sure it is not OVERLY complicated, as you will be expected to explain it in 3-5 minutes. Be sure to have some interesting points to make about your choice.

    The discussion will be question driven, so don't feel like it is a presentation. You don't need a very deep knowledge of these languages either. What you should focus on is a basic understanding of the grammar/semantics, and have an idea of the language you chose does. If there is some part of the language that comes up during the discussion that you are unfamiliar with, either we will gloss over it, or I will describe any needed detail. This will mostly be a high lever discussion of the language.

Maintained by Jesse Doherty. [HOME]