From 06212525ad52b16e5dcdf3a7e12986756c97e7d3 Mon Sep 17 00:00:00 2001 From: Anthony Bargnesi Date: Wed, 14 Oct 2015 11:23:24 -0400 Subject: [PATCH] link BEL/XBEL into Implementation section closes #3 --- version_1.0/ANTLR/README.adoc | 20 ++++------- version_1.0/XML/README.adoc | 13 +++---- .../bel_specification_version_1.0.adoc | 35 +++++++++++++++++++ 3 files changed, 47 insertions(+), 21 deletions(-) diff --git a/version_1.0/ANTLR/README.adoc b/version_1.0/ANTLR/README.adoc index 7841da0..c9b48a6 100644 --- a/version_1.0/ANTLR/README.adoc +++ b/version_1.0/ANTLR/README.adoc @@ -1,48 +1,42 @@ -language --------- - -ANTLR -~~~~~ - Pulled directly from the https://github.com/OpenBEL/openbel-framework[framework]. BELScript.g -^^^^^^^^^^^ ++++++++++++ Parse grammar that emits an ANTLR Abstract Syntax Tree. Syntax warnings and errors are caught in this step. Used by OpenBEL Framework 2.0 / 3.0. See https://github.com/OpenBEL/openbel-framework/blob/experimental/org.openbel.framework.common/src/main/java/org/openbel/framework/common/bel/parser/BELParser.java[BELParser.java]. BELScriptWalker.g -^^^^^^^^^^^^^^^^^ ++++++++++++++++++ Walks the AST and transforms into BEL Java Objects (org.openbel.framework.common.model package). Used by OpenBEL Framework 2.0 / 3.0. See https://github.com/OpenBEL/openbel-framework/blob/experimental/org.openbel.framework.common/src/main/java/org/openbel/framework/common/bel/parser/BELParser.java[BELParser.java]. BELScriptWalker_v1.g -^^^^^^^^^^^^^^^^^^^^ +++++++++++++++++++++ _Not used_ BELScript_C_v1.g -^^^^^^^^^^^^^^^^ +++++++++++++++++ _Not used_ BELScript_Python_v1.g -^^^^^^^^^^^^^^^^^^^^^ ++++++++++++++++++++++ _Not used_ BELScript_v1.g -^^^^^^^^^^^^^^ +++++++++++++++ _Not used_ BELStatement.g -^^^^^^^^^^^^^^ +++++++++++++++ Parses a BEL Statement into a BELStatement Java Object (org.openbel.framework.common.model.BELStatement). diff --git a/version_1.0/XML/README.adoc b/version_1.0/XML/README.adoc index c70337b..a8bdf0c 100644 --- a/version_1.0/XML/README.adoc +++ b/version_1.0/XML/README.adoc @@ -1,20 +1,17 @@ -language --------- - -XML -~~~ - Pulled directly from the https://github.com/OpenBEL/openbel-framework[framework]. xbel.xsd -^^^^^^^^ +++++++++ XML schema definition for BEL documents. Used by the legacy Java BEL Framework. +http://resource.belframework.org/belframework/1.0/schema/xbel.xsd[XML Schema Document] + xbel-annotations.xsd -^^^^^^^^^^^^^^^^^^^^ +++++++++++++++++++++ XML schema definition for BEL annotations used by the legacy Java BEL Framework. +http://resource.belframework.org/belframework/1.0/schema/xbel-annotations.xsd[XML Schema Document] diff --git a/version_1.0/bel_specification_version_1.0.adoc b/version_1.0/bel_specification_version_1.0.adoc index 75cf8a6..6503430 100644 --- a/version_1.0/bel_specification_version_1.0.adoc +++ b/version_1.0/bel_specification_version_1.0.adoc @@ -3255,6 +3255,41 @@ cat(p(HGNC:HSD11B1)) => \ The top statement represents the forward reaction and the bottom statement represents the reverse reaction. +Implementation +-------------- + +Formats +~~~~~~~ + +BEL Script (ANTLR Grammars) +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +BEL Script is a syntax and format for encoding BEL Statements and associated annotations as human-readable documents that can also be efficiently processed. + +include::ANTLR/README.adoc[] + +BEL Script (Ragel Parser) +^^^^^^^^^^^^^^^^^^^^^^^^^ + +The http://www.colm.net/open-source/ragel/[Ragel] parser files can be found https://github.com/OpenBEL/bel.rb/tree/master/lib/bel/ragel[here]. The http://www.colm.net/open-source/ragel/[Ragel] files can be used to create a parser in a http://www.colm.net/open-source/ragel/[Ragel]-supported language. For example to compile for Ruby you would execute +ragel -F0 -L -R bel.rl+. + +XBEL +^^^^ + +include::XML/README.adoc[] + +Tools +~~~~~ + +Java +^^^^ + +The https://github.com/OpenBEL/openbel-framework[OpenBEL Framework] implements a BEL Script and XBEL parser in the Java library https://github.com/OpenBEL/openbel-framework/tree/experimental/org.openbel.framework.common[org.openbel.framework.common]. + +Ruby +^^^^ + +The https://rubygems.org/gems/bel[bel] Ruby gem parses BEL Script and XBEL. [glossary] Glossary