[esnacc-dev] [PATCH 0/2] Library and Back-end support: Python
Aaron Conole
aconole at bytheb.org
Sat Jan 28 19:52:01 UTC 2017
This 'series' introduces a python library, and code generation back-end.
It is useful to have the option of generating python versions of asn.1 code
for rapid prototyping, interoperability, and because python is a popular
language.
The intent isn't to be completely feature complete out of the gate, but to
provide just enough for initial testing and integration. More backend work
is needed to have implicit tag, and extension support, among other very
important features.
Aaron Conole (2):
python: Introduce Python library
compiler/python: Initial handling of Python code
NEWS | 3 +
compiler/automake.mk | 5 +
compiler/back-ends/py-gen/gen-any.c | 265 ++++++++++
compiler/back-ends/py-gen/gen-code.c | 929 +++++++++++++++++++++++++++++++++++
compiler/back-ends/py-gen/rules.c | 569 +++++++++++++++++++++
compiler/back-ends/py-gen/rules.h | 36 ++
compiler/back-ends/py-gen/types.c | 529 ++++++++++++++++++++
compiler/back-ends/str-util.c | 48 +-
compiler/back-ends/str-util.h | 1 +
compiler/core/define.c | 3 +-
compiler/core/snacc.c | 171 +++++--
py-lib/.gitignore | 1 +
py-lib/esnacc/__init__.py | 7 +
py-lib/esnacc/asn_base.py | 189 +++++++++++++++++++
py-lib/esnacc/asn_bool.py | 53 ++++++
py-lib/esnacc/asn_buffer.py | 124 +++++++++++++
py-lib/esnacc/asn_ints.py | 356 ++++++++++++++++++++++++++++++++++++
py-lib/esnacc/asn_list.py | 98 ++++++++++
py-lib/esnacc/asn_octs.py | 112 ++++++++++++
py-lib/esnacc/asn_useful.py | 35 ++++
py-lib/esnacctests/__init__.py | 7 +
py-lib/esnacctests/asn_ints_test.py | 192 +++++++++++++++++++
22 files changed, 3690 insertions(+), 43 deletions(-)
create mode 100644 compiler/back-ends/py-gen/gen-any.c
create mode 100644 compiler/back-ends/py-gen/gen-code.c
create mode 100644 compiler/back-ends/py-gen/rules.c
create mode 100644 compiler/back-ends/py-gen/rules.h
create mode 100644 compiler/back-ends/py-gen/types.c
create mode 100644 py-lib/.gitignore
create mode 100644 py-lib/esnacc/__init__.py
create mode 100644 py-lib/esnacc/asn_base.py
create mode 100644 py-lib/esnacc/asn_bool.py
create mode 100644 py-lib/esnacc/asn_buffer.py
create mode 100644 py-lib/esnacc/asn_ints.py
create mode 100644 py-lib/esnacc/asn_list.py
create mode 100644 py-lib/esnacc/asn_octs.py
create mode 100644 py-lib/esnacc/asn_useful.py
create mode 100644 py-lib/esnacctests/__init__.py
create mode 100755 py-lib/esnacctests/asn_ints_test.py
--
2.7.4
More information about the dev
mailing list