Skip to content

Commit

Permalink
Merge pull request #14 from MetaBorgCube/release/0.6.0
Browse files Browse the repository at this point in the history
Release/0.6.0
  • Loading branch information
dcharkes authored Feb 2, 2017
2 parents 82235ac + d55c70c commit 467a2a8
Show file tree
Hide file tree
Showing 110 changed files with 3,682 additions and 2,191 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
[![Build status](http://buildfarm.metaborg.org/job/metaborgcube/job/IceDust/job/master/badge/icon)](http://buildfarm.metaborg.org/job/metaborgcube/job/IceDust/job/master/)
[![Build status](http://buildfarm.metaborg.org/job/metaborgcube/job/IceDust/job/develop/badge/icon)](http://buildfarm.metaborg.org/job/metaborgcube/job/IceDust/job/develop/)

# IceDust

Expand Down
2 changes: 1 addition & 1 deletion change_version.sh
Original file line number Diff line number Diff line change
@@ -1 +1 @@
grep -rEl --exclude=*/target/* --exclude=*/src-gen/* --include=*.{yaml,xml,MF} "0.4.3(.qualifier|-SNAPSHOT)" * | xargs sed -i "" "s/0.4.3/0.5.0/g"
grep -rEl --exclude=*/target/* --exclude=*/src-gen/* --include=*.{yaml,xml,MF} "0.5.0(.qualifier|-SNAPSHOT)" * | xargs sed -i "" "s/0.5.0/0.5.1/g"
4 changes: 2 additions & 2 deletions change_version_to_stable.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
grep -rEl --exclude=*/target/* --exclude=*/src-gen/* --include=*.{yaml,xml,MF} "0.5.0.qualifier" * | xargs sed -i "" "s/0.5.0.qualifier/0.5.1/g"
grep -rEl --exclude=*/target/* --exclude=*/src-gen/* --include=*.{yaml,xml,MF} "0.5.0-SNAPSHOT" * | xargs sed -i "" "s/0.5.0-SNAPSHOT/0.5.1/g"
grep -rEl --exclude=*/target/* --exclude=*/src-gen/* --include=*.{yaml,xml,MF} "0.5.1.qualifier" * | xargs sed -i "" "s/0.5.1.qualifier/0.6.0/g"
grep -rEl --exclude=*/target/* --exclude=*/src-gen/* --include=*.{yaml,xml,MF} "0.5.1-SNAPSHOT" * | xargs sed -i "" "s/0.5.1-SNAPSHOT/0.6.0/g"
4 changes: 2 additions & 2 deletions icedust.eclipse.feature/feature.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<feature
id="icedust.eclipse.feature"
label="IceDust Language Editor"
version="0.5.1">
version="0.6.0">

<description url="https://github.com/metaborg/icedust">
The IceDust Language Editor
Expand Down Expand Up @@ -35,6 +35,6 @@ Most Spoofax/IMP code is licensed under the GNU Lesser General Public License (L
id="icedust.eclipse"
download-size="0"
install-size="0"
version="0.5.1"/>
version="0.6.0"/>

</feature>
2 changes: 1 addition & 1 deletion icedust.eclipse.feature/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<modelVersion>4.0.0</modelVersion>
<artifactId>icedust.eclipse.feature</artifactId>
<version>0.5.1</version>
<version>0.6.0</version>
<packaging>eclipse-feature</packaging>

<parent>
Expand Down
2 changes: 1 addition & 1 deletion icedust.eclipse.updatesite/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

<modelVersion>4.0.0</modelVersion>
<artifactId>icedust.eclipse.updatesite</artifactId>
<version>0.5.1</version>
<version>0.6.0</version>
<packaging>eclipse-update-site</packaging>

<parent>
Expand Down
2 changes: 1 addition & 1 deletion icedust.eclipse.updatesite/site.xml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<site>
<feature url="features/icedust.eclipse.feature_0.5.1.jar" id="icedust.eclipse.feature" version="0.5.1">
<feature url="features/icedust.eclipse.feature_0.6.0.jar" id="icedust.eclipse.feature" version="0.6.0">
<category name="IceDust_Language_Editor"/>
</feature>
<category-def name="IceDust_Language_Editor" label="IceDust Language Editor">
Expand Down
2 changes: 1 addition & 1 deletion icedust.eclipse/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: IceDust language Eclipse plugin
Bundle-SymbolicName: icedust.eclipse;singleton:=true
Bundle-Version: 0.5.1
Bundle-Version: 0.6.0
Bundle-Vendor: metaborg.org
Bundle-ActivationPolicy: lazy
Require-Bundle: org.metaborg.spoofax.eclipse
Expand Down
2 changes: 1 addition & 1 deletion icedust.eclipse/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>icedust.eclipse</artifactId>
<version>0.5.1</version>
<version>0.6.0</version>
<packaging>eclipse-plugin</packaging>

<parent>
Expand Down
2 changes: 2 additions & 0 deletions icedust.examples.webdsl/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -18,3 +18,5 @@ application.ini
javascript/*
javascript
.webdsl-fragment-cache
*.dependson.txt
*.flowsto.txt
249 changes: 117 additions & 132 deletions icedust.examples.webdsl/icedustWebDSL.ice
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ model
passedCourses : Int = sum(enrollments.pass2)
}

entity Course {
entity Course (eventual) {
name : String

avgGrade : Float? = assignment.avgGrade
Expand All @@ -26,14 +26,14 @@ model

summary : String = "The course " + name + " has " + numStudents as String + " students, " +
("has a pass percentage of " + passPerc as String + "%" <+ "has no passing students") + ", and " +
("passing students have an average grade of " + avgGrade as String + "." <+ "has no average grade.")
("passing students have an average grade of " + avgGrade as String + "." <+ "has no average grade.") (on-demand eventual)
}

entity Enrollment {
name : String = course.name + " " +student.name
name : String = course.name + " " +student.name (on-demand)

grade : Float? = submission.grade
pass : Boolean = submission.pass
pass : Boolean = submission.pass <+ false
pass2 : Int = pass ? 1 : 0
}

Expand Down Expand Up @@ -77,10 +77,8 @@ model
0.0

childGrade : Float? = sum(children.gradeWeighted) / sum(assignment.children.weight)
baseGrade : Float? = switch {
case childPass => childGrade
default => no value // if one of child assignments not passed, no grade in the parent assignment
} (default) // if this a leaf assginment, then the grade is entered here
baseGrade : Float? = if(childPass) childGrade // if one of child assignments not passed, no grade in the parent assignment
(default) // if this a leaf assginment, then the grade is entered here
grade : Float? = switch {
case onTime => baseGrade
case onExtension => baseGrade - latePenalty
Expand All @@ -96,30 +94,18 @@ model
}

relation Assignment.parent ? <-> * Assignment.children
relation Submission.parent ? <-> * Submission.children
relation Submission.student 1 <-> * Student.submissions
relation Submission.assignment 1 <-> * Assignment.submissions
relation Submission.parent ? =
assignment.parent.submissions.find(x => x.student == student)
<-> * Submission.children

relation Course.assignment 1 <-> ? Assignment.course
relation Enrollment.submission 1 <-> ? Submission.enrollment
relation Enrollment.submission ? = course.assignment.submissions.find(x => x.student == student)
<-> ? Submission.enrollment

data

alice : Student {
name = "Alice"
}
bob : Student {
name = "Bob"
}
charlie : Student {
name = "Charlie"
}
dave : Student {
name = "Dave"
}
eve : Student {
name = "Eve"
}

math : Course {
name = "Math"
assignment =
Expand All @@ -143,117 +129,116 @@ data
latePenalty = 2.0
}
}
}
alice : Student { // alice succeeds math
name = "Alice"
enrollments =
enA {
course = math
}
submissions =
mathAlice {
assignment = mathAssignment
},
examAlice {
assignment = exam
answer = "Good"
baseGrade = 7.0
},
practicalAlice {
assignment = practical
answer = "Great"
baseGrade = 8.0
date = 2016-02-17 16:00:00
}
}
bob : Student { // bob fails, because his exam is too low
name = "Bob"
enrollments =
enA { // alice succeeds math
student = alice
submission =
mathAlice {
assignment = mathAssignment
student = alice
children =
examAlice {
assignment = exam
student = alice
answer = "Good"
baseGrade = 7.0
},
practicalAlice {
assignment = practical
student = alice
answer = "Great"
baseGrade = 8.0
date = 2016-02-17 16:00:00
}
}
enB {
course = math
}
submissions =
mathBob {
assignment = mathAssignment
},
enB { // bob fails, because his exam is too low
student = bob
submission =
mathBob {
assignment = mathAssignment
student = bob
children =
examBob {
assignment = exam
student = bob
answer = "Bad"
baseGrade = 3.0
},
practicalBob {
assignment = practical
student = bob
answer = "Perfect"
baseGrade = 10.0
date = 2016-02-17 16:00:00
}
}
examBob {
assignment = exam
answer = "Bad"
baseGrade = 3.0
},
enC { // charlie fails, because with the penalty for his practical his practical is too low
student = charlie
submission =
mathCharlie {
assignment = mathAssignment
student = charlie
children =
examCharlie {
assignment = exam
student = charlie
answer = "Great"
baseGrade = 8.0
},
practicalCharlie {
assignment = practical
student = charlie
answer = "Sufficient"
baseGrade = 6.0
date = 2016-02-20 16:00:00
}
}
practicalBob {
assignment = practical
answer = "Perfect"
baseGrade = 10.0
date = 2016-02-17 16:00:00
}
}
charlie : Student { // charlie fails, because with the penalty for his practical his practical is too low
name = "Charlie"
enrollments =
enC {
course = math
}
submissions =
mathCharlie {
assignment = mathAssignment
},
enD { // dave fails, because his practical is submitted after the deadline extension
student = dave
submission =
mathDave {
assignment = mathAssignment
student = dave
children =
examDave {
assignment = exam
student = dave
answer = "Great"
baseGrade = 8.0
},
practicalDave {
assignment = practical
student = dave
answer = "Great"
baseGrade = 8.0
date = 2016-02-27 16:00:00
}
}
examCharlie {
assignment = exam
answer = "Great"
baseGrade = 8.0
},
enE { // eve succeeds, as she got a deadline extension
student = eve
submission =
mathEve {
assignment = mathAssignment
student = eve
children =
examEve {
assignment = exam
student = eve
answer = "Great"
baseGrade = 8.0
},
practicalEve {
assignment = practical
student = eve
answer = "Near Perfect"
baseGrade = 9.0
date = 2016-02-27 16:00:00
deadline = 2016-02-27 23:59:59
}
}
practicalCharlie {
assignment = practical
answer = "Sufficient"
baseGrade = 6.0
date = 2016-02-20 16:00:00
}
}
dave : Student { // dave fails, because his practical is submitted after the deadline extension
name = "Dave"
enrollments =
enD {
course = math
}
submissions =
mathDave {
assignment = mathAssignment
},
examDave {
assignment = exam
answer = "Great"
baseGrade = 8.0
},
practicalDave {
assignment = practical
answer = "Great"
baseGrade = 8.0
date = 2016-02-27 16:00:00
}
}
eve : Student { // eve succeeds, as she got a deadline extension
name = "Eve"
enrollments =
enE {
course = math
}
submissions =
mathEve {
assignment = mathAssignment
},
examEve {
assignment = exam
answer = "Great"
baseGrade = 8.0
},
practicalEve {
assignment = practical
answer = "Near Perfect"
baseGrade = 9.0
date = 2016-02-27 16:00:00
deadline = 2016-02-27 23:59:59
}
}

Expand Down
Loading

0 comments on commit 467a2a8

Please sign in to comment.