download 2021 site
This commit is contained in:
commit
dd6e4afb13
138 changed files with 37730 additions and 0 deletions
400
milestone/1.html
Normal file
400
milestone/1.html
Normal file
|
|
@ -0,0 +1,400 @@
|
|||
<!doctype html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
|
||||
<meta name="description" content="">
|
||||
<meta name="author" content="Eelco Visser">
|
||||
<meta name="generator" content="Jekyll v3.8.5">
|
||||
<title>Milestone 1: Syntax Complete</title>
|
||||
<!-- <base href="/2021"> -->
|
||||
|
||||
<!--link rel="canonical" href="https://getbootstrap.com/docs/4.3/examples/starter-template/"-->
|
||||
|
||||
<link rel="icon" href="../img/logo/pl_ico2_2B3_icon.ico" type="image/x-icon">
|
||||
|
||||
<!-- Bootstrap core CSS -->
|
||||
<!--link href="https://getbootstrap.com/docs/4.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"-->
|
||||
|
||||
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
|
||||
|
||||
|
||||
|
||||
<style>
|
||||
.bd-placeholder-img {
|
||||
font-size: 1.125rem;
|
||||
text-anchor: middle;
|
||||
-webkit-user-select: none;
|
||||
-moz-user-select: none;
|
||||
-ms-user-select: none;
|
||||
user-select: none;
|
||||
}
|
||||
|
||||
@media (min-width: 768px) {
|
||||
.bd-placeholder-img-lg {
|
||||
font-size: 3.5rem;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<!-- Custom styles for this template -->
|
||||
<link href="../css/main.css" rel="stylesheet">
|
||||
<link href="../css/borders-responsive.css" rel="stylesheet">
|
||||
|
||||
<link rel="stylesheet" href="../css/pl.css">
|
||||
</head>
|
||||
<body>
|
||||
|
||||
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top">
|
||||
|
||||
<a class="navbar-brand" href="../index.html">
|
||||
TU Delft | CS4200
|
||||
</a>
|
||||
|
||||
<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
|
||||
<div class="collapse navbar-collapse" id="navbarsExampleDefault">
|
||||
<ul class="navbar-nav mr-auto">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="nav-item active">
|
||||
<a class="nav-link" href="../lectures/index.html" tabindex="-1" aria-disabled="true">Lectures</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="nav-item active">
|
||||
<a class="nav-link" href="../homework/index.html" tabindex="-1" aria-disabled="true">Homework</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="nav-item active">
|
||||
<a class="nav-link" href="../project/index.html" tabindex="-1" aria-disabled="true">Project</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="nav-item active">
|
||||
<a class="nav-link" href="../news/index.html" tabindex="-1" aria-disabled="true">News</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<li class="nav-item active">
|
||||
<a class="nav-link" href="../blog/index.html" tabindex="-1" aria-disabled="true">Blog</a>
|
||||
</li>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
|
||||
<div class="container">
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-12 col-xl-12">
|
||||
|
||||
|
||||
<div class="mt-3 mb-3 pt-3 pb-3 text-dark border-top border-bottom border-grey">
|
||||
<div class="text-dark font-weight-bold">
|
||||
<h1>
|
||||
|
||||
Milestone 1: Syntax Complete
|
||||
|
||||
</h1>
|
||||
</div>
|
||||
<div>
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
|
||||
|
||||
Project
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
<div>
|
||||
September 27, 2021
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12 col-md-12 col-lg-9 border-lg-right border-grey">
|
||||
<p>In this milestone you submit your syntax definition.</p>
|
||||
|
||||
<h3 id="submission">Submission</h3>
|
||||
|
||||
<p>You need to submit your ChocoPy project with a merge request on GitLab.
|
||||
The <a href="../lab/1d.html">Git and Submissions documentation</a> explains how to file such a request.</p>
|
||||
|
||||
<p>The deadline for submission is September 26 2021, 23:59.</p>
|
||||
|
||||
<h3 id="grading">Grading</h3>
|
||||
|
||||
<p>We grade your submission based on compliance with the ChocoPy syntax as defined in the reference manual, taking into account:</p>
|
||||
|
||||
<ul>
|
||||
<li>lexical syntax</li>
|
||||
<li>context-free syntax</li>
|
||||
<li>disambiguation
|
||||
<ul>
|
||||
<li>associativity</li>
|
||||
<li>precedence</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>layout constraints</li>
|
||||
</ul>
|
||||
|
||||
<p>Additionally, we grade your submission manually to confirm that your SDF3 grammar is idiomatic, organized, and follows best practices. To determine whether your grammar is idiomatic, we use the following guidelines:</p>
|
||||
|
||||
<ul>
|
||||
<li>Your grammar definition is organized.
|
||||
<ul>
|
||||
<li>Formatting is consistent across sections/files.</li>
|
||||
<li>Grammars are split up into multiple files where appropriate.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Your grammar does not use deprecated or low-level SDF3 features.
|
||||
<ul>
|
||||
<li>You do not use deprecated attributes such as <code class="language-plaintext highlighter-rouge">{prefer}</code>.</li>
|
||||
<li>You do not use bare “kernel” syntax (<code class="language-plaintext highlighter-rouge">syntax</code> sections that are not explicitly <code class="language-plaintext highlighter-rouge">lexical</code> or <code class="language-plaintext highlighter-rouge">context-free</code>).</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Your grammar uses template syntax (<code class="language-plaintext highlighter-rouge"><></code>) to enable pretty-printing.</li>
|
||||
<li>Your grammar uses layout constraints to parse ChocoPy.
|
||||
<ul>
|
||||
<li>Your grammar does not use lexical elements for layout, such as <code class="language-plaintext highlighter-rouge">NEWLINE</code>, <code class="language-plaintext highlighter-rouge">INDENT</code> or <code class="language-plaintext highlighter-rouge">DEDENT</code>.</li>
|
||||
<li>Your grammar uses high-level layout constraints (<code class="language-plaintext highlighter-rouge">single-line</code>, <code class="language-plaintext highlighter-rouge">newline-indent</code>, <code class="language-plaintext highlighter-rouge">align-list</code>, …) where possible.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Your grammar uses priorities and follow restrictions to disambiguate.
|
||||
<ul>
|
||||
<li>Your grammar does not use separate context-free sorts for the sole purpose of disambiguating.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Your grammar is as “flat” as reasonably possible.
|
||||
<ul>
|
||||
<li>Your grammar uses new sorts primarily for optionals, variants, or to extract out common patterns.</li>
|
||||
<li>Your grammar generally uses a single sort for expressions and statements.
|
||||
<ul>
|
||||
<li><strong>You do not have separate <code class="language-plaintext highlighter-rouge">CExpr</code> and <code class="language-plaintext highlighter-rouge">Expr</code> sorts.</strong></li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Note: This rule is a guideline. Do not feel forced to needlessly flatten sorts if you believe introducing new ones will aid readability.</li>
|
||||
</ul>
|
||||
</li>
|
||||
</ul>
|
||||
|
||||
<p>The bolded section is worth repeating. The ChocoPy reference manual uses two separate expression sorts in order to disambiguate and keep compatibility with Python grammar. SDF3 is powerful enough to represent these restrictions without the need for two separate sorts. In order to keep the SDF3 grammar as idiomatic as possible, as well as aid future static analysis steps, we therefore expect you to implement expressions using a single expression sort. For some more hints on how to do this, see also <a href="../lab/2.html">the (updated) lab 2 guide</a>.</p>
|
||||
|
||||
<p>Your parser will automatically be graded in GitLab using SPT tests. These automated tests determine 70% of your grade for milestone 1, with the remaining 30% graded based on whether or not your grammar is idiomatic. A solution that passes all SPT tests but does not adhere to any of the above guidelines will therefore yield a 7 as final grade, whereas a less-complete implementation that follows all style guidelines closely will likely score better.</p>
|
||||
|
||||
<h3 id="early-feedback">Early Feedback</h3>
|
||||
|
||||
<p>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 <strong>15</strong> early feedback attempts. Afterwards, you may still submit new merge requests, but you will not be able to receive feedback on them. Your final grade is based on the last submission done to the <code class="language-plaintext highlighter-rouge">milestone-1-submission</code> branch.</p>
|
||||
|
||||
<!-- #### Please use the new parser
|
||||
|
||||
We highly recommend you use the new layout-sensitive parser. Make sure to use the layout-sensitive variant and to update Spoofax.
|
||||
|
||||
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. -->
|
||||
|
||||
|
||||
</div>
|
||||
<div class="col-sm-12 col-md-12 col-lg-3 col-xl-3 " >
|
||||
<div class="sticky-top top70 d-none d-lg-block d-xl-block">
|
||||
<div class="pb4 mb3 border-bottom border-grey ">
|
||||
<nav>
|
||||
<ul class="pagination justify-content-left">
|
||||
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="../lab/3c.html">
|
||||
«
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="../project/index.html">
|
||||
^
|
||||
</a>
|
||||
</li>
|
||||
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="../lab/4.html">»</a>
|
||||
</li>
|
||||
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
<ul id="my_toc" class="toc list-group list-group-flush d-none d-lg-block d-xl-block p-0 ml-0 mt-3">
|
||||
<li class="list-group-item pl-0 ml-0 border-0 pl-0 pt-0 pb-1 pr-0 m-0 mr-3"><a href="1.html#submission">Submission</a></li>
|
||||
<li class="list-group-item pl-0 ml-0 border-0 pl-0 pt-0 pb-1 pr-0 m-0 mr-3"><a href="1.html#grading">Grading</a></li>
|
||||
<li class="list-group-item pl-0 ml-0 border-0 pl-0 pt-0 pb-1 pr-0 m-0 mr-3"><a href="1.html#early-feedback">Early Feedback</a></li>
|
||||
</ul>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-12">
|
||||
<div class="border-top border-bottom border-grey mt-3 pt-3">
|
||||
<nav>
|
||||
<ul class="pagination justify-content-center">
|
||||
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="../lab/3c.html">
|
||||
Previous
|
||||
</a>
|
||||
</li>
|
||||
|
||||
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="../lab/4.html">Next</a>
|
||||
</li>
|
||||
|
||||
<li class="page-item">
|
||||
<a class="page-link" href="../project/index.html">
|
||||
Index
|
||||
</a>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
<!-- Optional JavaScript -->
|
||||
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
|
||||
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
|
||||
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
|
||||
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
|
||||
|
||||
</body>
|
||||
</html>
|
||||
Loading…
Add table
Add a link
Reference in a new issue