Git Product home page Git Product logo

cocoxml's Introduction

CocoXml is inspired by Coco/R and modified from it.

Coco/R is released under GPLv2 and written by Hanspeter Moessenboeck,
University of Linz. Its homepage is http://www.ssw.uni-linz.act.at/coco/ .

The main part of CocoXml is released under GPLv2 too.
In order to let the user of CocoXml constructor their own parser, scanner
from the sample applications in 'applications' subdirs, the code in libcoco.a
is released under LGPLv2. And the code in 'applications' dir is released under
BSD-4. For the detail, please read the comments in the head of each sources.

Coco/R can read an atg file and frame files, then generate scanner and parser
for user. Different versions are implemented for different languages, such as
C#, Java and CPP and so on.

Firstly, I modify Coco/R so it can accept a different atg. This new atg can be
used to parse the tag/attribute structure base on the result of SAX parser,
just like XCC does. For the detail of XCC, please access:
ftp://plasma-gate.weizmann.ac.il/pub/xcc/. CocoXml use the EBNF to describe the
syntax of tags, attributes and other XML elements. It is a strict way and can
parse complex XML structure easily.

Then CocoXml-0.9.0.tar.gz is released.

After that, it is realized that if CocoXml is provided in the Coco/R way, the
core algorithm has to be implemented in all supported languages again and again.
This is not a necessitation. And I also need a stronger implement of Coco/R in
C, so it can be used to generate various parsers in C.

So I decide to re-implement Coco/R in pure-C and split the output schemes from
algorithm completely. And when a new programming language support is required,
define a new output scheme is enough.

Another advantage of C implemented Coco/R is there are least dependencies, so
the user can install it easily. And linux distribution can distribute it easily
too.

Now the new implemented Coco(in c) and CocoXml are combined into one binary.
If the extension of the input is .atg, it is treated as a syntax of the
original Coco. If the extension of the input is .xatg, it is treated as a
syntax of CocoXml.

Some more improvements are introduced too. For the details, please refer to
the homepage of CocoXml: http://code.google.com/p/cocoxml. The documents can be
accessed in http://code.google.com/p/cocoxml/w/list .

The source of CocoXml can be checkout with the following command:
{{{
svn checkout http://cocoxml.googlecode.com/svn/trunk cocoxml-read-only.
}}}
The referenced Coco/R code are committed into svn too, so my modifications can
be show easily. :)

Charles Wang <[email protected]>

cocoxml's People

Watchers

deger avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.