vishia

ZBNF / JZcmd

XML

vishia-Java

Fcmd

Softwaretechnology

Inspector & Reflection

Java and Embedded Systems

Download Page

last change: 2014-07-08

The maybe most important application of ZBNF is the JZcmd script executer / Text generator: A script language is defined, named JZcmd. This script language contains capabilities to simple immediate invocation of Java methods and access to Java-internal data and also invocation of operation system commands and text generation. With that features it is possible to use JZcmd scripts instead of Windows-batch-files and unix shell scripts. The system does only need a Standard Java (jre) and the zbnfjax/ZBNF.jar-file which is contained in the download zbnfjax.zip. See example testAllJz.bat. It is possible to write compatible Windows/UNIX/Linux files which can be start as batch and which contains the JZcmd script statements in one file:

java -cp path/to/ZBNF.jar org.vishia.zcmd.JZcmd thisfile.bat
exit /B
==JZcmd==
main(){
  <+out>hello world<.+n>
}  
      

ZBNF means Semantic Backus Naur Form whereby the Z is a revers S. The download zip-package or the download on sourceforge contains the ZBNF parser, some utilities for Text Generation, XML processing, Zmake, Header2Refection, Docu generation etc which are presented here, and some examples to study usage.

ZBNF is both, a language for syntax description and a tool suite.

German: Die ZBNF ist eine Erweiterung der Backus-Naur-Form insbesondere mit der Angabemöglichkeit von Semantik-Informationen. Mit ZBNF ist es möglich, entweder per Kommandozeile oder eingebettet in ein Java-Programm einen beliebigen aber syntaktisch fassbaren Textinhalt in XML umzuwandeln. Die Semantikinformationen bestimmen dabei die Namen der XML-Tags, die Syntax-Strukturierung bestimmt die Baumstruktur im XML. Es ist auch eine direkte programmtechnische Auswertung der geparsten Informationen außerhalb XML in Java möglich.

Eine Veröffentlichung zu ZBNF ist erschienen unter dem Titel "Wandlungskünstler" in der Zeitschrift Der Entwickler, Ausgabe 2007.02 des Software & Support-Verlages.

Dieses Projekt soll ZBNF publizieren. Es handelt sich um Open-Source-Software nach der LGPL. Es steht ein übersetztes Java-Programm (jar-Archiv, download) zur direkten Nutzung zur Verfügung. Für die Einbettung in eigene Programme gibt es die class-Files im jar-Archiv oder auch die direkten Sources (download). Die Klassendokumentation ist mit javadoc erstellt.

The ZBNF is frequently used from the author also in profession.

Letzte Änderungen:

     
2014-06 JZcmd There was a lot of time where something is happened but nothing was posted. Because some adversities while using the Zmake, a new concept was developed. Firstly a text generator was created, which should replace the XSLT translation from a ZBNF-parsed control file of Zmake. The concept was altered to a universal script executer with text generator capabilities. The immediate and simple invocation of Java routines and access to data in Java is a basic capability of the JZcmd script executer / Text generator
2011-01-09 ZBNF- reportfile A bug was detect in a syntax constallation (CHeader.zbnf). Therefore the report-file with report-level 6 was outputted. The appearance of this report-outputs are not so far to read. It should be improved. It is in progress...
2011-01-11 ZBNF-bin A new idea to describe binary data (byte seqences) in ZBNF. See the link ZBNF - byte data description
2010... Ussage of ZBNF Formost ZBNF was used to generate Header2Reflection. Some improvements were done in the CHeader.zbnf-syntax-script. The Java2C-Project was improved too, which uses ZBNF to parse Java-files. But the parser itself is stable.
2010-01-17 sf Version 1.0 I'm not a writer of blogs. This is written one year later. In january 2010, the version 1.0 was released on the sourceforge-side. I'll try to write all descriptions in english now, because most of reader doesn't come from germany. The english texts may contain some grammer or writing mistakes - excuse me, but it should be able to understand :-)
2008-07-13 ZBNF Kleine ggf wichtige Änderung: Es geht jetzt ?semantic::="Text" in ein ZBNF-Script zu schreiben, siehe Hauptbeschreibung, Topic:semanticHelp..
2008-00-00 ZBNF An dieser Stelle ist natürlich wiedermal nichts notiert worden, obwohl viel passiert. Die ZBNF ist mittlerweile für das Parsen von Java-Sources für Java2C verwendet worden und bei Sourceforge versioniert downloadbar, siehe oben.
2007-09-23 ZBNF Überarbeitung der Sources, nunmehr kann nach einem | für Alternativen jeweils eine eigene Syntaxkomponente erzeugt werden: |<?semantic> Das macht die Schreibweise in manchen Fällen einfacher. Zuvor musste man die Syntax in einer eigenen Syntaxkomponente angeben: | <syntaxComp> ... syntaxCom::=syntax.
2007-09-10 ZBNF Mittlerweile ist eine Umbenennung auf ZBNF vollzogen, im Wesentlichen deshalb, weil SBNF als Abkürzung nicht eindeutig ist. Die Sources sind umgezogen von vishia/stringScan/SBNF... nach org/vishia/zbnf/*
2007-05-07 SBNF Neue Funktionalität für rechtsbündiges parsen z.Bsp. <*<<\\/:?filepath> und parsen mit einschließenden Ende-Zeichen z.Bsp. <+<<\\/:?filepath> implementiert und beschrieben.
2007-02-28 SBNF Neue Dokumentation (noch nicht fertig) mit XML-Dokumentengenerierung erstellt, enthält zusätzliche Informationen
2007-02-14 SBNF Überarbeitung der Hauptbeschreibung
2006-04-01 Java, SBNF Start des Projektes