Home Company Solutions Products News & Events Supports

Products
ZOS Software
ABNF Compiler
SIP Stack
SDP Stack
RTP/RTCP Stack
RTSP Stack
XML Software
Software Tools
All products
Juphoon ABNF Compiler

Augmented BNF (ABNF) is simple and powerful. So it is the most used definition tool of text describing language at Internet domain. In addition to a variety of text languages defined by ABNF, such as C/C++, Java, VB, etc., more usually ABNF is used to define the format of a textual protocol. Many well-known protocol packets have complicated formats defined according to ABNF grammar.

Because of the efficiency of the grammar defined by ABNF, traditional compiler of BNF is not applicable to commercialised software for the processing protocol packets codec. In order to solve this problem, Juphoon dedicates itself to research on compiling tools which can satisfy the requirements of industrial intensity and high efficiency.

Framework:

Modules:

• ZOS Lib
ZOS Lib is provided to seal API which is of different operating systems and to supply a series of useful data structures and algorithms for protocol processing. It consists of binary object files and header files which are of different operating systems and compiled by the C source codes of ZOS.

• ABNF Lib
ABNF Lib provides the realization of codec mechanism of the abstract unified ABNF data stream and a series of useful library functions. It consists of object files and header files which are of different operating systems and compiled by the source codes of the ABNF Library.

• ABNF2Html / ABNF2TC / ABNF2Code
ABNF2Html / ABNF2TC / ABNF2Code provide main business functions of ABNF Compiler. In addition to providing functions as the automatic generations of HTML, packet testing cases and the ABNF codec codes of ABNF, it also provides configuration management, error and log managements and other common functions.

• ABNF Console UI / ABNF Windows UI
ABNF Console UI is the console interface of ABNF. Versions running in Win32, Linux and Solaris will be provided.

ABNF Windows UI is the windows interface of ABNF. It has strong capability of representation. Also it can display grammar trees and can manipulate the trees' nodes. Only the version of Windows UI running in MS-Windows is realized by now.

• Language Port / ABNF Codec Instance
Language Port is used to generate a suite of codes for the integration between different languages. For instance, the Language Port of Java is specially used to visit the local codes of ABNF Lib and ZOS Lib.

• User Application
User Application is referred to the users' application programs. Actually it is an external program and is the same layer as ABNF UI.

Implementation Description:

1. Realized with ANSI C
2. Support the operating systems such as Win32、VxWorks、Linux、Solaris and etc.
3. Optimized algorithms of character bit calculation and string suiting thus speed up the processing
4. High spacial efficiency, optimized data structure and code size
5. Optimized grammar parsing especially applicable to process protocol packet
6. The code is thread safe
7. The control system of memory pool and buffer can avoid the cost of OS's memory management
8. Clear error-located mechanism
9. Codes of codec is very easy to understand and modify
10. The code produced by compiler has friendly user interface and is easy to use
11. Strict programming regulations and logic which can benefit mapping the code and the rules which is defined by ABNF

Features:
1. Optimization and error manipulation of ABNF Grammar Tree include converting to LL(1) grammer, simplifying regulation in the grammar and etc.
2. Realization of ABNF2Html which is referred to ABNF to Html, automatic production of hyper-text of ABNF
3. Realization of ABNF2TC which is referred to ABNF to Test Case
4. Realization of ABNF2Code which is referred to automatic production of ABNF Codec code
5. ABNF Codec code supports C/C++, Java, Delphi

Applications:

1. Applications about ABNF Codec development, including SIP, HTTP, MGCP, SDP and etc.
2. Tests for the 3rd softwares, which are about ABNF Codec packets
3. ABNF assistant constructing

Resources:

Contacts | Legal Notices
©2009 Juphoon Corporation. All rights reserved