WebIDL tool
Project description
pywebidl2
Description
This is a tool for the Web IDL language.
Quick start
pip install pywebidl2
Usage
Usage: pywebidl2 [OPTIONS] FILE
Options:
-a, --action [parse|validate]
--help Show this message and exit.
For Developer
Antlr4
Download ANTLR4 tool
Create a python parser and lexer.
make parser
Tests
make test
Example
Parser
from pprint import pprint
from pywebidl2 import parse
idl = '''
interface B {
void g([AllowAny] DOMString s);
};
'''
pprint(parse(idl))
[
{
"type": "interface",
"name": "B",
"inheritance": null,
"members": [
{
"type": "operation",
"name": "g",
"idl_type": {
"type": "return-type",
"ext_attrs": [],
"generic": "",
"nullable": false,
"union": false,
"idl_type": "void"
},
"arguments": [
{
"type": "argument",
"name": "s",
"ext_attrs": [
{
"type": "extended-attribute",
"name": "AllowAny",
"rhs": null,
"arguments": []
}
],
"idl_type": {
"type": "argument-type",
"ext_attrs": [],
"generic": "",
"nullable": false,
"union": false,
"idl_type": "DOMString"
},
"default": null,
"optional": false,
"variadic": false
}
],
"ext_attrs": [],
"special": ""
}
],
"ext_attrs": [],
"partial": false
}
]
Documentation
See original parser
Contributing
Any help is welcome and appreciated.
License
pywebidl2 is licensed under the terms of the MIT License (see the file LICENSE).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pywebidl2-0.1.7.tar.gz
(120.0 kB
view hashes)
Built Distribution
pywebidl2-0.1.7-py3-none-any.whl
(64.7 kB
view hashes)
Close
Hashes for pywebidl2-0.1.7-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a11591aabe00ada55da85cb0de4d96bf2760b30a3f7ed5b65e6a02523cf2d7b4 |
|
MD5 | 7ea82383a14610cd3fbdb3d0359bd36b |
|
BLAKE2b-256 | efe19fa6192883ed2ce0a3bd08146fb4a7e05561aa220b534c2e36a836fecd57 |