mirror of
https://github.com/Luzifer/badge-gen.git
synced 2024-11-10 06:10:03 +00:00
38 lines
2.4 KiB
Markdown
38 lines
2.4 KiB
Markdown
# Parse [![Build Status](https://travis-ci.org/tdewolff/parse.svg?branch=master)](https://travis-ci.org/tdewolff/parse) [![GoDoc](http://godoc.org/github.com/tdewolff/parse?status.svg)](http://godoc.org/github.com/tdewolff/parse)
|
|
|
|
This package contains several lexers and parsers written in [Go][1]. All subpackages are built to be streaming, high performance and to be in accordance with the official (latest) specifications.
|
|
|
|
The lexers are implemented using `buffer.Lexer` in https://github.com/tdewolff/buffer and the parsers work on top of the lexers. Some subpackages have hashes defined (using [Hasher](https://github.com/tdewolff/hasher)) that speed up common byte-slice comparisons.
|
|
|
|
## CSS
|
|
This package is a CSS3 lexer and parser. Both follow the specification at [CSS Syntax Module Level 3](http://www.w3.org/TR/css-syntax-3/). The lexer takes an io.Reader and converts it into tokens until the EOF. The parser returns a parse tree of the full io.Reader input stream, but the low-level `Next` function can be used for stream parsing to returns grammar units until the EOF.
|
|
|
|
[See README here](https://github.com/tdewolff/parse/tree/master/css).
|
|
|
|
## HTML
|
|
This package is an HTML5 lexer. It follows the specification at [The HTML syntax](http://www.w3.org/TR/html5/syntax.html). The lexer takes an io.Reader and converts it into tokens until the EOF.
|
|
|
|
[See README here](https://github.com/tdewolff/parse/tree/master/html).
|
|
|
|
## JS
|
|
This package is a JS lexer (ECMA-262, edition 6.0). It follows the specification at [ECMAScript Language Specification](http://www.ecma-international.org/ecma-262/6.0/). The lexer takes an io.Reader and converts it into tokens until the EOF.
|
|
|
|
[See README here](https://github.com/tdewolff/parse/tree/master/js).
|
|
|
|
## JSON
|
|
This package is a JSON parser (ECMA-404). It follows the specification at [JSON](http://json.org/). The parser takes an io.Reader and converts it into tokens until the EOF.
|
|
|
|
[See README here](https://github.com/tdewolff/parse/tree/master/json).
|
|
|
|
## SVG
|
|
This package contains common hashes for SVG1.1 tags and attributes.
|
|
|
|
## XML
|
|
This package is an XML1.0 lexer. It follows the specification at [Extensible Markup Language (XML) 1.0 (Fifth Edition)](http://www.w3.org/TR/xml/). The lexer takes an io.Reader and converts it into tokens until the EOF.
|
|
|
|
[See README here](https://github.com/tdewolff/parse/tree/master/xml).
|
|
|
|
## License
|
|
Released under the [MIT license](LICENSE.md).
|
|
|
|
[1]: http://golang.org/ "Go Language"
|