This release focuses on defining the foundations for the future of language. Specifically, define the subset of the grammar that will be part of shex-lite.
As part of this release, therefore support for grammar and syntactic and semantic validations is included.
Grammar definition. The grammar is defined so that 80% of the most widely used functions of the shape expression language can be achieved.
Syntactic validation. In the compiler it is included a very first version of the syntax validation that allows to detect syntactic errors in given schemas.
Semantic validation. It is also included in this release a very first version of the semantic validation that provides help to developers to fix their schemas to avoid runtime errors.
List of issues included in this release
SLI-0028: Semantically validate a schema.
SLI-0029: Semanticaly validate a prefix definition.
SLI-0030: Semanticaly validate a base definition.
SLI-0031: Semanticaly validate an start definition.
SLI-0032: Semanticaly validate an import statement.
SLI-0033: Semanticaly validate a shape definition.
SLI-0034: Semanticaly validate a triple expression.
SLI-0035: Semanticaly validate a triple constraint.
SLI-0036: Semanticaly validate a shape invocation.
SLI-0037: Design the public API.
SLI-0038: Add code coverage badge to README.
SLI-0041: Symbol table implementation does not meet weso/shex-lite-evolution/pull/16...
SLI-0042: Error codes and messages are not descriptive enough and are hardcoded in so...
SLI-0046: Build status of master is failing.
SLI-0050: Travis CI is completly unstable for scala builds.
SLI-0059: Builds and tests are still unstable due to how tests are executed by sbt.
SLI-0060: Readme build status badge still points to travis when travis is no longer used.
SLI-0066: Symbol table current implementation does not meet single responsability princ...
SLI-0070: Semanticaly validate a prefix invocation.
SLI-0074: The a keyword is not recognized.
SLI-0075: Generate java class for valid schema.
SLI-0076: Generate java attributes for valid schema.
SLI-0077: Generate java getters for valid schema.
SLI-0078: Generate java setters for valid schema.
SLI-0079: Generate java all args constructor for a valid schema.
Other Improvements
This release also includes a very basic CLI application that allows to use the compiler com the command line tool. The CLI tool includes the following instruction set:
Usage
shexlc [options] <files> ... : compile and generate target domain model objects
Options
-gd, --generate-domain-model-objects : if present will generate domain object models
-hw, --hide-warnings : if present will hide the warnings
Arguments
<files> : ShEx-Lite sources to compile
Usage Example
In order to execute this release two example shexl files are attached. To execute from CLI you just have to write:
java -jar shexlc-2.0-beta.jar
This will print the help page with all the instructions to compile the included files.
Description
Primary Focus: Shape expressions subset definition
This release focuses on defining the foundations for the future of language. Specifically, define the subset of the grammar that will be part of shex-lite.
As part of this release, therefore support for grammar and syntactic and semantic validations is included.
List of issues included in this release
Other Improvements
This release also includes a very basic CLI application that allows to use the compiler com the command line tool. The CLI tool includes the following instruction set:
Usage Example
In order to execute this release two example shexl files are attached. To execute from CLI you just have to write:
This will print the help page with all the instructions to compile the included files.