Description
OMG IDL file parser. This library just parse IDL files, and output intermidiate type objects.
Example
"""
example for idl_parser package
"""
from idl_parser import parser
parser_ = parser.IDLParser()
idl_str = """
module my_module {
struct Time {
long sec;
long usec;
};
typedef sequence<double> DoubleSeq;
struct TimedDoubleSeq {
Time tm;
DoubleSeq data;
};
enum RETURN_VALUE {
RETURN_OK,
RETURN_FAILED,
};
interface DataGetter {
RETURN_VALUE getData(out TimedDoubleSeq data);
};
};
"""
global_module = parser_.load(idl_str)
my_module = global_module.module_by_name('my_module')
dataGetter = my_module.interface_by_name('DataGetter')
print 'DataGetter interface'
for m in dataGetter.methods:
print '- method:'
print ' name:', m.name
print ' returns:', m.returns.name
print ' arguments:'
for a in m.arguments:
print ' name:', a.name
print ' type:', a.type
print ' direction:', a.direction
doubleSeq = my_module.typedef_by_name('DoubleSeq')
print 'typedef %s %s' % (doubleSeq.type.name, doubleSeq.name)
timedDoubleSeq = my_module.struct_by_name('TimedDoubleSeq')
print 'TimedDoubleSeq'
for m in timedDoubleSeq.members:
print '- member:'
print ' name:', m.name
print ' type:', m.type.name
How to install
sudo pip install idl_parser
Copyright
author: Yuki Suga
copyright: Yuki Suga @ ssr.tokyo
license: GPLv3
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
idl_parser-0.0.17.tar.gz
(11.4 kB
view details)
File details
Details for the file idl_parser-0.0.17.tar.gz.
File metadata
- Download URL: idl_parser-0.0.17.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97be2c577a590013116901e043385099a706eae38df1585f8bbced341aa5fb23
|
|
| MD5 |
1ffd985038e28fb7d01e478412ce7240
|
|
| BLAKE2b-256 |
d2743c4610008931ceaaab4f19329c62d66df57a9235e6360c4af37092895b24
|