ProB Parser library
Java Other
Clone or download
Pull request Compare This branch is 9 commits behind develop.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
answerparser
bparser
cliparser
eventbalg
eventbstruct
gradle/wrapper
ltlparser
parserbase
prologlib
scripts
theorymapping
translator
typechecker
unicode
.bumpversion.cfg
.gitignore
.travis.yml
Makefile
README.md
build.gradle
epl-v10.html
gradle.properties.enc
gradlew
gradlew.bat
pubring.gpg.enc
secring.gpg.enc
settings.gradle

README.md

ProB Parsers Library

Build Status

Using

Releases are on Maven Central, Snapshots on https://oss.sonatype.org/content/repositories/snapshots/. You can include the B parser in a gradle build script like this:

def parser_version = '2.9.11' // development version: 2.9.12-SNAPSHOT
dependencies {
	compile group: "de.hhu.stups", name: "bparser", version: parser_version
	compile group: "de.hhu.stups", name: "ltlparser", version: parser_version// optional
	compile group: "de.hhu.stups", name: "parserbase", version: parser_version
	compile group: "de.hhu.stups", name: "prologlib", version: parser_version
}

The repository contains some additional parsers:

  • answerparser - Parses the answers sent by probcli
  • bparser - Parser for classical B
  • cliparser - Commandline interface for the classical B + LTL parser
  • eventbstruct - Parser for the Camille structural syntax
  • ltlparser - Parser for LTL and CTL
  • parserbase - Interface classes for the Parsers
  • prologlib - Library to produce valid Prolog terms
  • theorymapping - Parser for Theory mapping files (translation of EventB operators to Prolog predicates)
  • translator - Translates B values into Java objects.
  • unicode - Conversion of EventB Unicode Strings to ASCII and vice versa

Building

Run the 'deploy' target with gradle.

On windows you need to install the program 'patch.exe'.

The artifacts are copied to the build folder.

Bugs

Please report bugs and feature requests at https://probjira.atlassian.net

Content

  • bparser - parser for classical B (more information in http://www.stups.uni-duesseldorf.de/w/An_Object_Oriented_Parser_For_B_Specifications)
  • prologlib - library to construct and manipulate well-formed prolog terms
  • parserbase - library for uniform access to the formal language parsers (e.g. to embed a language into ltl)
  • ltlparser - parser for LTL formulas - the parser delegates formulas in { } to a formalism specific parser (e.g. to the classical B parser). Also contains a parser for CTL
  • answerparser - parser to read answers from the ProB prolog core
  • unicode - lexer that transforms Event-B expressions and predicates from ASCII to Unicode syntax and vice3 versa (note: this is not extensible!)
  • cliparser - glue code for embedding the parser in the prolog core (deprecated!)
  • translator - translator for B expressions to java

Contributors

The libraries contain contributions from (in alphabetical order) Jens Bendisposto, Marc Büngener, Fabian Fritz, Dominik Hansen, Sebastian Krings, Michael Leuschel, Daniel Plagge, David Schneider

Licence

The ProB Parser Library source code is distributed under the Eclipse Public License - v 1.0 (see epl-v10.html)

The Parser Library comes with ABSOLUTELY NO WARRANTY OF ANY KIND ! This software is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY. The author(s) do not accept responsibility to anyone for the consequences of using it or for whether it serves any particular purpose or works at all. No warranty is made about the software or its performance.

(c) 2011-2018 STUPS group, University of Düsseldorf