Milestone 1: Syntax Complete

Project
September 27, 2020

In this milestone you submit your syntax definition.

Submission

You need to submit your ChocoPy project with a merge request on GitLab. The Git and Submissions documentation explains how to file such a request.

The deadline for submission is September 27 2020, 23:59.

Grading

We grade your submission based on compliance with the ChocoPy syntax as defined in the reference manual, taking into account:

  • lexical syntax
  • context-free syntax
  • disambiguation
    • associativity
    • precedence
  • layout constraints

Early Feedback

We provide early feedback for the correctness of your syntax definition. This feedback gives you an indication which parts of your syntax definition might still be wrong. It includes a summary on how many tests you pass and how many points you earn by passing them. You have 15 early feedback attempts.

Please use the new parser

We highly recommend you use the new layout-sensitive parser. Details on how to start using this parser can be found here: http://www.metaborg.org/en/latest/source/langdev/meta/lang/sdf3/configuration.html#jsglr-version. Make sure to use the layout-sensitive variant and to update Spoofax (either download the newest version here or follow the update instructions) to actually get the latest version of the parser.

If your project does not use it, there is a chance that you will fail certain tests for the early feedback/grading pipeline.

This new parser fixes a couple of bugs dealing with layout constraints not being properly recognized, and non-associative productions not producing an error. If you have written any tests for these yourself, you might need to update them.