Skip to content

Commit

Permalink
Merge pull request #1191 from AmpersandTarski/development
Browse files Browse the repository at this point in the history
Release v4.2.0
  • Loading branch information
hanjoosten authored Jul 16, 2021
2 parents 52d83fb + 513da41 commit 7e0b87c
Show file tree
Hide file tree
Showing 48 changed files with 1,175 additions and 940 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/ci2.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Inspired by https://tech.freckle.com/2021/05/18/haskell-on-actions/
name: CI_test 🚀
name: Build and test 🚀

on:
pull_request:
Expand Down Expand Up @@ -129,7 +129,7 @@ jobs:
uses: freckle/stack-action@main # stack-action does all these steps: dependencies, build, test.
with:
stack-arguments: '--copy-bins --flag ampersand:buildAll'
weeder: false
weeder: true
hlint: true
-
name: Upload artifacts (Linux) 📤
Expand Down
90 changes: 90 additions & 0 deletions ArchitectureAndDesign/Syntax/Current Student version/ADL_V4.0.ebnf
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
ADL_V2 ::= ContextDef
ContextDef ::= 'CONTEXT' Id IncludeStatement* LanguageRef? TextMarkup?
( Meta |
PatternDef |
ProcessDef |
RuleDef |
RelationDef |
ConceptDef |
GenDef |
ViewDef |
InterfaceDef |
Plug |
Purpose |
Population |
Themes
)* 'ENDCONTEXT'
IncludeStatement ::= 'INCLUDE' FilePath
LanguageRef ::= 'IN' ('DUTCH' | 'ENGLISH')
TextMarkup ::= 'REST' | 'HTML' | 'LATEX' | 'MARKDOWN'
Meta ::= 'META' String String
PatternDef ::= 'PATTERN' Id
( RuleDef |
GenDef |
RelationDef |
RoleRule |
ConceptDef |
RoleRelation |
ViewDef |
Purpose |
Population
)* 'ENDPATTERN'
RuleDef ::= 'RULE' (Id ':')? Term Meaning*
('MESSAGE' LanguageRef? TextMarkup? (String | Expl))*
('VIOLATION' (ViolElement (',' ViolElement)* )?
ViolElement ::= 'TXT' String | 'SRC' Term | 'TGT' Term
RelationDef ::= ((Id '::' ConceptRef ( '*'| '->' | '<-' | ('[' (('0'| '1') '..' ('1'|'*') | '1' | '*')? '-' (('0'| '1') '..' ('1'|'*') | '1' | '*')? ']' ) ) ConceptRef) |
(RELATION Id Sign))
'BYPLUG'? Props? 'BYPLUG'? ('PRAGMA' String String*)? Meaning? ('=' Content )? ('DEFINE' ('SRC' | 'TGT') String)? '.'?
Props ::= '['( ('UNI'|'INJ'|'SUR'|'TOT'|'SYM'|'ASY'|'TRN'|'RFX'|'IRF'|'PROP')
(',' ('UNI'|'INJ'|'SUR'|'TOT'|'SYM'|'ASY'|'TRN'|'RFX'|'IRF'|'PROP'))*
)? ']'
ConceptDef ::= 'CONCEPT' Id 'MEANING' LanguageRef? TextMarkup? ('REF' String)? Expl
GenDef ::= 'CLASSIFY' Id 'ISA' Id
ViewDef ::= 'VIEW' Id ConceptRef '(' ViewSegment (',' ViewSegment)* ')' |
'VIEW' Id ConceptRef 'DEFAULT'? ('(' ViewSegment (',' ViewSegment)* ')'?) HTMLview 'ENDVIEW'
ViewSegment ::= Id ':' ( term | string )
InterfaceDef ::= 'INTERFACE' 'API'? Id
('(' RelSign (',' RelSign)* ')')?
('FOR' Id (',' Id)* )?
':' Term SubInterface
SubInterface ::= 'BOX' ('<' ('FORM' | 'TABLE' | 'TABS') '>')? Box
Plug ::= ('SQLPLUG' | 'PHPPLUG') Obj
Purpose ::= 'PURPOSE'
('CONCEPT' Id |
'RELATION' Id Sign? |
'RULE' Id |
'VIEW' Id |
'PATTERN' Id |
'INTERFACE' Id |
'CONTEXT' Id
)
LanguageRef?
TextMarkup?
('REF' String)? Expl
Expl ::= '{+' String '-}'
Population ::= 'POPULATION' RelSign 'CONTAINS' RelContent |
'POPULATION' Id 'CONTAINS' CptContent
RoleRule ::= 'ROLE' Id (',' Id)* 'MAINTAINS' Id (',' Id)*
Meaning ::= 'MEANING' LanguageRef? TextMarkup? Expl
Term ::= Trm1 (( '=' | '|-') Trm1)?
Trm1 ::= Trm2 (( '/\' | '\/') Trm2)*
Trm2 ::= Trm3 ('-' Trm3)?
Trm3 ::= Trm4 (( '\' | '/') Trm4)?
Trm4 ::= (Trm5 (';' Trm5)* ) |
(Trm5 ('!' Trm5)* ) |
Trm5
Trm5 ::= '-'? Trm6 |
Trm6 ( Sign | '~' | '*' | '+')
Trm6 ::= RelationRef |
'(' Term ')'
RelationRef ::= 'I' | 'V' | Varid | Atom
RelSign ::= RelationRef Sign?
Sign ::= '[' ConceptRef ( '*' ConceptRef)? ']'
ConceptRef ::= 'ONE' | Id
# obsolete:
# LabelProps ::= Id ('{' Id (',' Id)* '}')* ':'
ObjDef ::= Id Term SubInterface?
Box ::= 'BOX' '[' ObjDef (',' ObjDef)* ']'
RelContent ::= '[' (('(' Value ',' Value ')') (',' ('(' Value ',' Value ')') )*)? ']'
CptContent ::= '[' (Value (',' Value )*)? ']'
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Ampersand

[![Build & Test 🚀](https://github.com/AmpersandTarski/Ampersand/actions/workflows/ci2.yml/badge.svg)](https://github.com/AmpersandTarski/Ampersand/actions/workflows/ci2.yml)
[![Latest Release](https://img.shields.io/github/release/AmpersandTarski/Ampersand.svg)](https://github.com/AmpersandTarski/Ampersand/releases/latest)

## Releases
Expand Down
12 changes: 10 additions & 2 deletions ReleaseNotes.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,16 @@
# Release notes of Ampersand

## v4.1.5 (30 May 2021)
## v4.2.0 ( 16 July 2021)

* Upgrade to [LTS Haskell 17.9 (ghc-8.10.4)](https://www.stackage.org/lts-17.9) . This includes an upgrade of Pandoc. This might effect tables in the documentation that is generated with the `documentation` command.
* In the generated documentation, the Conceptual Analysis chapter has been revised to be readable by stakeholders with some knowledge of conceptual modeling.
* [Issue #1171](https://github.com/AmpersandTarski/Ampersand/issues/1171) Warn about labels with identical names in sections of VIEW statement.
* [Issue #1163](https://github.com/AmpersandTarski/Ampersand/issues/1163) Idenfifiers starting with an underscore (`_`) are no longer allowed.
* [Issue #1183](https://github.com/AmpersandTarski/Ampersand/issues/1183) Use markup in definition of Concept is now possible.
* Improvements to the way we test the build (CI/CD).

## v4.1.5 ( 2 June 2021)

* Upgrade to [LTS Haskell 17.9 (ghc-8.10.4)](https://www.stackage.org/lts-17.9) . This includes an upgrade of Pandoc. This might affect tables in the documentation that is generated with the `documentation` command.
* Add switch `--numeric-version`
* Improvement to the CI/CD. We abandon travis-ci and appveyor, and are now totally using github actions for our Continous Integration.

Expand Down
7 changes: 4 additions & 3 deletions ampersand.cabal
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ cabal-version: 2.0
-- see: https://github.com/sol/hpack

name: ampersand
version: 4.1.5
version: 4.2.0
synopsis: Toolsuite for automated design of enterprise information systems.
description: You can define your business processes by means of rules, written in Relation Algebra.
category: Database Design
Expand Down Expand Up @@ -194,6 +194,7 @@ extra-source-files:
testing/Travis/testcases/FuncSpec/Mandatering/Mandatering.adl
testing/Travis/testcases/FuncSpec/Mandatering/ToevoegenMandaat.adl
testing/Travis/testcases/FuncSpec/testinfo.yaml
testing/Travis/testcases/FuncSpec/testIssue1183.adl
testing/Travis/testcases/FuncSpec/testPredLogic.adl
testing/Travis/testcases/Misc/Arbeidsduur.adl
testing/Travis/testcases/Misc/ArchiTest1.adl
Expand Down Expand Up @@ -222,6 +223,7 @@ extra-source-files:
testing/Travis/testcases/Parsing/shouldFail/Issue980.adl
testing/Travis/testcases/Parsing/shouldFail/testinfo.yaml
testing/Travis/testcases/Parsing/shouldSucceed/Issue1014.adl
testing/Travis/testcases/Parsing/shouldSucceed/Issue1183.adl
testing/Travis/testcases/Parsing/shouldSucceed/Issue899b.adl
testing/Travis/testcases/Parsing/shouldSucceed/Issue960.adl
testing/Travis/testcases/Parsing/shouldSucceed/testinfo.yaml
Expand Down Expand Up @@ -543,7 +545,6 @@ library
Ampersand.Test.Parser.ParserTest
Ampersand.Test.Parser.QuickChecks
Ampersand.Test.Regression
Ampersand.Test.TestScripts
MainApps
Options.Applicative.Builder.Extra
Ampersand.Basics.BuildInfo_Generated
Expand Down Expand Up @@ -718,7 +719,7 @@ executable ampersand
app/Ampersand
default-extensions:
NoImplicitPrelude
ghc-options: -Wall -Wcompat -Widentities -optP-Wno-nonportable-include-path -Wredundant-constraints -threaded
ghc-options: -Wall -Wcompat -Widentities -optP-Wno-nonportable-include-path -Wredundant-constraints -threaded -fwrite-ide-info
build-depends:
Cabal ==3.2.1.0
, HStringTemplate ==0.8.*
Expand Down
8 changes: 2 additions & 6 deletions package.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
name: ampersand
version: 4.1.5
version: 4.2.0
author: Stef Joosten
maintainer: stef.joosten@ou.nl
synopsis: Toolsuite for automated design of enterprise information systems.
Expand Down Expand Up @@ -116,7 +116,6 @@ library:
- Ampersand.Core.ShowPStruct
- Ampersand.FSpec
- Ampersand.FSpec.Crud
# - Ampersand.FSpec.FPA
- Ampersand.FSpec.FSpec
- Ampersand.FSpec.FSpecAux
- Ampersand.FSpec.GenerateUML
Expand Down Expand Up @@ -159,8 +158,6 @@ library:
- Ampersand.Output.FSpec2SQL
- Ampersand.Output.PandocAux
- Ampersand.Output.Population2Xlsx
# - Ampersand.Output.PredLogic
# - Ampersand.Output.Statistics
- Ampersand.Output.ToJSON.Concepts
- Ampersand.Output.ToJSON.Conjuncts
- Ampersand.Output.ToJSON.Interfaces
Expand Down Expand Up @@ -190,8 +187,6 @@ library:
- Ampersand.Test.Parser.ParserTest
- Ampersand.Test.Parser.QuickChecks
- Ampersand.Test.Regression
# - Ampersand.Test.RunAmpersand
- Ampersand.Test.TestScripts
- MainApps
- Options.Applicative.Builder.Extra
generated-exposed-modules:
Expand All @@ -216,6 +211,7 @@ executables:
main: Main.hs
ghc-options:
- -threaded
- -fwrite-ide-info
dependencies:
- ampersand
- Cabal == 3.2.1.0
Expand Down
3 changes: 2 additions & 1 deletion src/Ampersand/ADL1.hs
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ import Ampersand.Core.ParseTree (
, TermPrim(..), P_NamedRel(..)
, PClassify(..)
, P_Relation(..)
, ConceptDef(..)
, PConceptDef(..), PCDDef(..)
, PMeaning(..),PMessage(..),P_Markup(..)
)
import Ampersand.Core.AbstractSyntaxTree (
Expand All @@ -56,6 +56,7 @@ import Ampersand.Core.AbstractSyntaxTree (
, Relation(..), Relations, getExpressionRelation, showRel
, Rule(..), Rules, A_RoleRule(..)
, A_Concept(..), A_Concepts, TType(..), showValADL, showValSQL, unsafePAtomVal2AtomValue
, AConceptDef(..)
, Conjunct(..)
, PAtomValue(..)
, AAtomValues, AAtomPairs, safePSingleton2AAtomVal
Expand Down
Loading

0 comments on commit 7e0b87c

Please sign in to comment.