third_party/asn1ate.git
6 years agoSupport EXPORTS for modules exports 55/head
Kim Grasman [Thu, 3 Aug 2017 13:34:43 +0000 (15:34 +0200)]
Support EXPORTS for modules

Parse and wire up a sema node for EXPORTS and its associated symbol
names.

As far as I can tell, this supports all valid EXPORTS.

6 years agoProperly module-qualify type references in sema
Kim Grasman [Thu, 3 Aug 2017 12:58:04 +0000 (14:58 +0200)]
Properly module-qualify type references in sema

6 years agoAllow external value references
Kim Grasman [Thu, 3 Aug 2017 12:48:41 +0000 (14:48 +0200)]
Allow external value references

When value-reference expressions are generated, include the
Python-sanitized module name, unless it denotes the current module.

This is still untested with proper cross-module references.

6 years agoTest runner now supports multi-modules
Kim Grasman [Wed, 2 Aug 2017 10:46:39 +0000 (12:46 +0200)]
Test runner now supports multi-modules

Instead of piping text to python, we now write out all modules in an
.asn file to individual Python scripts under _testdir/. The basic_test
scripts create and remove the test directory, and check that all files
in the directory are valid Python modules.

This uncovered a couple of bugs with value references, so temporarily
disable these tests.

Note basic_test.bat is untested, I no longer have a Windows rig for
testing.

6 years agoUnix line endings for everything but bat files
Kim Grasman [Tue, 1 Aug 2017 19:09:49 +0000 (21:09 +0200)]
Unix line endings for everything but bat files

6 years agoUpdate copyright years
Kim Grasman [Tue, 1 Aug 2017 18:54:51 +0000 (20:54 +0200)]
Update copyright years

7 years agoCodegen for SET OF inline size constraints
Kim Grasman [Sun, 11 Sep 2016 10:14:57 +0000 (12:14 +0200)]
Codegen for SET OF inline size constraints

Sparked by the earlier report for SEQUENCE OF by @aholtzma.

7 years agoCodegen for inline SEQUENCE OF
Aaron Holtzman [Thu, 8 Sep 2016 21:15:17 +0000 (17:15 -0400)]
Codegen for inline SEQUENCE OF

This fixes issue #42.

Original patch by @aholtzma, adjusted and squashed by me.

7 years agoBump copyright years to 2016
Kim Grasman [Thu, 8 Sep 2016 19:34:45 +0000 (21:34 +0200)]
Bump copyright years to 2016

Quick before the year ends!

7 years agoSupport empty component types
Kim Grasman [Thu, 8 Sep 2016 19:03:33 +0000 (21:03 +0200)]
Support empty component types

This fixes issue #34.

7 years agoFix bug with stringization of auto-tagged types
Kim Grasman [Thu, 8 Sep 2016 18:45:04 +0000 (20:45 +0200)]
Fix bug with stringization of auto-tagged types

The assumption is that the class-spec only contains strings. The
automatic tagging broke that invariant by throwing in an int as class
number.

Found by @aholtzma, thanks!

7 years agoWrap some long lines
Kim Grasman [Thu, 8 Sep 2016 18:48:14 +0000 (20:48 +0200)]
Wrap some long lines

No functional change.

7 years agoSimplify pip requirements
Kim Grasman [Mon, 22 Aug 2016 19:40:37 +0000 (21:40 +0200)]
Simplify pip requirements

Based on the wisdom in https://caremad.io/2013/07/setup-vs-requirement/,
this removes dev-requirements.txt in favor using setup.py via -e.

7 years agoRemove last traces of 'implicity'
Kim Grasman [Mon, 22 Aug 2016 19:07:23 +0000 (21:07 +0200)]
Remove last traces of 'implicity'

This is a breaking change for out-of-tree consumers of sema.

7 years agoCode linted and PEP8'ed
Ilya Etingof [Sun, 14 Aug 2016 12:08:45 +0000 (14:08 +0200)]
Code linted and PEP8'ed

Original patch from Ilya Etingof, squashed by me.

8 years agoMore repeatable header for autogenerated files
unknown [Tue, 2 Feb 2016 20:40:13 +0000 (21:40 +0100)]
More repeatable header for autogenerated files

We now include asn1ate version, source filename and last-modified time
of source file.

This makes output repeatable for the same inputs.

8 years agoAdd version available at runtime
unknown [Tue, 2 Feb 2016 20:31:48 +0000 (21:31 +0100)]
Add version available at runtime

asn1ate.__version__ will now contain the package version.
setup.py pulls it from there with a technique described in:
http://python-packaging-user-guide.readthedocs.org/en/latest/single_source_version/

8 years agoSort assignments by name to make output repeatable
Michael Mattice [Fri, 29 Jan 2016 20:00:49 +0000 (14:00 -0600)]
Sort assignments by name to make output repeatable

Patch by Mike Mattice, thanks!

8 years agoUpdate test.py to match changed pyasn1gen.
Kim Grasman [Tue, 22 Dec 2015 09:37:31 +0000 (10:37 +0100)]
Update test.py to match changed pyasn1gen.

8 years agoMerge pull request #29 from james-ward/sema-autotag
Kim Gräsman [Tue, 22 Dec 2015 09:11:56 +0000 (10:11 +0100)]
Merge pull request #29 from james-ward/sema-autotag

Add support for AUTOMATIC TAGS.

Patch by James Ward, thanks!

8 years agoRemove outdated TODO
Kim Grasman [Mon, 21 Dec 2015 05:45:37 +0000 (06:45 +0100)]
Remove outdated TODO

8 years agoMerge pull request #28 from viraptor/extra_strings
Kim Gräsman [Sat, 19 Dec 2015 15:25:39 +0000 (16:25 +0100)]
Merge pull request #28 from viraptor/extra_strings

Add more string types

Patch by Stanisław Pitucha, thanks!

8 years agoMerge pull request #25 from viraptor/proper_setup
Kim Gräsman [Sat, 19 Dec 2015 15:24:21 +0000 (16:24 +0100)]
Merge pull request #25 from viraptor/proper_setup

Install script and dependencies

Patch by Stanisław Pitucha, thanks!

8 years agoAdd more string types 28/head
Stanisław Pitucha [Fri, 18 Dec 2015 04:58:06 +0000 (15:58 +1100)]
Add more string types

Fixes issue #27

8 years agoInstall script and dependencies 25/head
Stanisław Pitucha [Thu, 17 Dec 2015 03:25:16 +0000 (14:25 +1100)]
Install script and dependencies

Make sure that `pip install` installs both the pyasn1gen script and pyparsing
automatically.

8 years agoMerge pull request #23 from james-ward/choice-tag
Kim Gräsman [Sun, 22 Nov 2015 17:06:36 +0000 (18:06 +0100)]
Merge pull request #23 from james-ward/choice-tag

Tagged CHOICEs must always be explicit.

Patch by James Ward.

8 years agoMerge pull request #21 from james-ward/multi-module
Kim Gräsman [Sun, 22 Nov 2015 17:05:21 +0000 (18:05 +0100)]
Merge pull request #21 from james-ward/multi-module

Allow multi-module processing.

Patch by James Ward.

8 years agoAdd automatic tags. 29/head
James Ward [Tue, 6 Oct 2015 23:02:09 +0000 (10:02 +1100)]
Add automatic tags.

ConstructedTypes now have a method to autotag their components.
This will wrap all components in a TaggedType with incrementing
tag number, but only if no components are already tagged (as per
the ASN.1 specification).

After generating the module(s) this method is called on all
ConstructedTypes in the tree if the module's tag default is
AUTOMATIC.

Ignore ExtensionMarkers when autotagging.

Resolves #20.

8 years agoAllow multi-module processing. 21/head
James Ward [Tue, 8 Sep 2015 10:22:27 +0000 (20:22 +1000)]
Allow multi-module processing.

When generating code, the list of modules is passed through Pyasn1Backend
in order to allow references across modules. Modules in this list
are also added to the output as import statements.

The main function in pyasn1gen.py has been modified to take a command
line switch to output multiple modules to separate files rather than
stdout.

8 years agoTagged CHOICEs must be explicit if the default is implicit, automatic or empty. 23/head
James Ward [Mon, 5 Oct 2015 23:28:22 +0000 (10:28 +1100)]
Tagged CHOICEs must be explicit if the default is implicit, automatic or empty.

Resolves issue #23.

8 years agoSet dev version.
Kim Grasman [Thu, 11 Jun 2015 20:19:54 +0000 (22:19 +0200)]
Set dev version.

8 years agoFix issue #18: VisibleString bug
Kim Grasman [Thu, 11 Jun 2015 20:17:33 +0000 (22:17 +0200)]
Fix issue #18: VisibleString bug

Add builtin mapping from VisibleString to char.VisibleString.

Test case from Wireshark's source tree.

9 years agoBump to unique dev version.
Kim Grasman [Sun, 15 Mar 2015 09:38:37 +0000 (10:38 +0100)]
Bump to unique dev version.

9 years agoUpdate copyright years. v0.5
Kim Grasman [Sat, 14 Mar 2015 15:35:33 +0000 (16:35 +0100)]
Update copyright years.

9 years agoReformat and add short blurb on tested Python versions.
Kim Grasman [Sat, 14 Mar 2015 15:31:52 +0000 (16:31 +0100)]
Reformat and add short blurb on tested Python versions.

9 years agoBump version to 0.5 to prepare for release.
Kim Grasman [Sat, 14 Mar 2015 15:28:30 +0000 (16:28 +0100)]
Bump version to 0.5 to prepare for release.

9 years agoAdd pip requirements files.
Kim Grasman [Sat, 14 Mar 2015 15:28:09 +0000 (16:28 +0100)]
Add pip requirements files.

9 years agoMerge branch 'master' of https://github.com/kimgr/asn1ate
Kim Grasman [Sun, 1 Feb 2015 19:54:33 +0000 (20:54 +0100)]
Merge branch 'master' of https://github.com/kimgr/asn1ate

9 years agoFix issue 11: respect module tag defaults.
Kim Grasman [Sun, 1 Feb 2015 19:50:46 +0000 (20:50 +0100)]
Fix issue 11: respect module tag defaults.

Simplify parser (leave None tokens for missing tag implicity.)
Record module tag defaults in sema.
Use module tag defaults if tag implicity is missing.

9 years agoRename Huawei CDR testdata.
Kim Grasman [Sun, 1 Feb 2015 14:48:22 +0000 (15:48 +0100)]
Rename Huawei CDR testdata.

9 years agoMerge pull request #16 from fzonneveld/issue15_BIT_STRING_in_SEQUENCE_fails
Kim Gräsman [Sat, 13 Dec 2014 22:28:07 +0000 (23:28 +0100)]
Merge pull request #16 from fzonneveld/issue15_BIT_STRING_in_SEQUENCE_fails

Fixed issue 15, BIT STRING in constructed types

9 years agoFixed issue 15, BIT STRING in constructed types 16/head
Frank Zonneveld [Sat, 13 Dec 2014 20:52:47 +0000 (15:52 -0500)]
Fixed issue 15, BIT STRING in constructed types

Added the BIT STRING type into the inline generator
part for constructed types.
Added small update in SEQUENCE test.

9 years agoFix issue 10. 13/head
Kim Grasman [Mon, 10 Nov 2014 21:01:31 +0000 (22:01 +0100)]
Fix issue 10.

Parse SIZE constraints on defined types.
Support GraphicString.
Add public test data file for Huawie call charging.

9 years agoInline any_defined_by clause and trim whitespace in test data.
Kim Grasman [Sat, 1 Nov 2014 14:46:23 +0000 (15:46 +0100)]
Inline any_defined_by clause and trim whitespace in test data.

9 years agoAdded ANY type. 9/head
Frank Zonneveld [Tue, 28 Oct 2014 19:21:43 +0000 (15:21 -0400)]
Added ANY type.

9 years agoSupport for selection types.
Kim Grasman [Sun, 27 Jul 2014 12:32:21 +0000 (14:32 +0200)]
Support for selection types.

9 years agoFix issue #1: All constraints are now code-genned.
Kim Grasman [Sun, 27 Jul 2014 08:12:23 +0000 (10:12 +0200)]
Fix issue #1: All constraints are now code-genned.

9 years agoCorrectly construct univ.BitString from bstring/hstring types.
Kim Grasman [Sat, 26 Jul 2014 20:39:41 +0000 (22:39 +0200)]
Correctly construct univ.BitString from bstring/hstring types.

9 years agoFix bug where self.constraint was sometimes never set.
Kim Grasman [Sat, 26 Jul 2014 20:33:25 +0000 (22:33 +0200)]
Fix bug where self.constraint was sometimes never set.

9 years agoTests for OCTET STRING values.
Kim Grasman [Sat, 26 Jul 2014 19:28:26 +0000 (21:28 +0200)]
Tests for OCTET STRING values.

9 years agoUse Optional instead of empty.
Kim Grasman [Sat, 26 Jul 2014 14:17:10 +0000 (16:17 +0200)]
Use Optional instead of empty.

9 years agoSwitch exponent rule to use CaselessLiteral.
Kim Grasman [Sat, 26 Jul 2014 14:14:35 +0000 (16:14 +0200)]
Switch exponent rule to use CaselessLiteral.

9 years agoRemove redundant constraint rule.
Kim Grasman [Sat, 26 Jul 2014 14:05:17 +0000 (16:05 +0200)]
Remove redundant constraint rule.

9 years agoForce Unix line endings.
Kim Grasman [Sat, 26 Jul 2014 13:58:03 +0000 (15:58 +0200)]
Force Unix line endings.

9 years agoSupport value-range and single-value constraints for REAL
Kim Grasman [Sat, 26 Jul 2014 13:57:50 +0000 (15:57 +0200)]
Support value-range and single-value constraints for REAL

9 years agoRemove scary comment.
Kim Grasman [Sat, 26 Jul 2014 13:38:15 +0000 (15:38 +0200)]
Remove scary comment.

9 years agoProper grammar for REAL values.
Kim Grasman [Sat, 26 Jul 2014 12:52:04 +0000 (14:52 +0200)]
Proper grammar for REAL values.

Including support for exponent values.

9 years agoFix so size constraints generate ValueSizeConstraint instead of ValueRangeConstraint.
Kim Grasman [Sat, 26 Jul 2014 09:18:14 +0000 (11:18 +0200)]
Fix so size constraints generate ValueSizeConstraint instead of ValueRangeConstraint.

9 years agoOnly generate _OID helper if necessary.
Kim Grasman [Sat, 26 Jul 2014 09:14:47 +0000 (11:14 +0200)]
Only generate _OID helper if necessary.

9 years agoSupport BIT STRING types without enumerators.
Kim Grasman [Sat, 26 Jul 2014 08:50:26 +0000 (10:50 +0200)]
Support BIT STRING types without enumerators.

Found the lovely Optional(..., default=) construct.

9 years agoFix bugs in name translation.
Kim Grasman [Fri, 25 Jul 2014 16:53:28 +0000 (18:53 +0200)]
Fix bugs in name translation.

9 years agoBetter type and value name sanitization.
Kim Grasman [Fri, 25 Jul 2014 16:29:12 +0000 (18:29 +0200)]
Better type and value name sanitization.

9 years agoSupport size and single-value constraints on some types.
Kim Grasman [Fri, 25 Jul 2014 15:03:37 +0000 (17:03 +0200)]
Support size and single-value constraints on some types.

9 years agoParse and ignore external value references.
Kim Grasman [Fri, 25 Jul 2014 09:40:04 +0000 (11:40 +0200)]
Parse and ignore external value references.

9 years agoParse and ignore external type references.
Kim Grasman [Fri, 25 Jul 2014 09:36:17 +0000 (11:36 +0200)]
Parse and ignore external type references.

9 years agoAdd new public standard definition.
Kim Grasman [Thu, 24 Jul 2014 14:17:04 +0000 (16:17 +0200)]
Add new public standard definition.

Vehicle-to-vehicle distributed short-range communications.

9 years agoTest case for circular assignment dependencies.
Kim Grasman [Thu, 24 Jul 2014 13:58:33 +0000 (15:58 +0200)]
Test case for circular assignment dependencies.

9 years agoFix issue #8 -- Cyclic references.
Kim Grasman [Tue, 22 Jul 2014 20:38:44 +0000 (22:38 +0200)]
Fix issue #8 -- Cyclic references.

We can now have cyclic references between assignments and constructed type
members. This required extensive surgery to properly handle cycles in
dependency sorting and to generate assignment code in two passes.

9 years agoAdd batch file for PyPI publishing.
Kim Grasman [Mon, 2 Jun 2014 18:59:36 +0000 (20:59 +0200)]
Add batch file for PyPI publishing.

9 years agoAdd classifiers and bump version.
Kim Grasman [Mon, 2 Jun 2014 18:45:41 +0000 (20:45 +0200)]
Add classifiers and bump version.

9 years agoRename README.rst -> README.txt v0.4
Kim Grasman [Mon, 2 Jun 2014 18:11:44 +0000 (20:11 +0200)]
Rename README.rst -> README.txt
Follows Python packaging convention at the expense of Github reST formatting. Oh well.

9 years agoAdd explicit source file encoding to setup.py.
Kim Grasman [Mon, 2 Jun 2014 18:07:40 +0000 (20:07 +0200)]
Add explicit source file encoding to setup.py.
Re-save it with UTF-8 encoding, so my name does not come out garbled.

10 years agoMerge pull request #7 from rasky/master
Kim Gräsman [Mon, 14 Apr 2014 18:55:23 +0000 (20:55 +0200)]
Merge pull request #7 from rasky/master

Add support for ENUMERATED in identifier-only form. Patch by Giovanni Bajo!

10 years agoFormatting 7/head
Giovanni Bajo [Mon, 14 Apr 2014 14:27:51 +0000 (16:27 +0200)]
Formatting

10 years agoUse Unique() function
Giovanni Bajo [Mon, 14 Apr 2014 14:27:45 +0000 (16:27 +0200)]
Use Unique() function

10 years agoAdd support for ENUMERATED in identifier-only form
Giovanni Bajo [Tue, 8 Apr 2014 16:38:12 +0000 (18:38 +0200)]
Add support for ENUMERATED in identifier-only form

10 years agoReorder builtin translations.
Kim Grasman [Mon, 6 Jan 2014 10:47:49 +0000 (11:47 +0100)]
Reorder builtin translations.

10 years agoSupport for hex string literals.
Kim Grasman [Mon, 6 Jan 2014 10:16:12 +0000 (11:16 +0100)]
Support for hex string literals.

10 years agoFix up comment.
Kim Grasman [Sun, 5 Jan 2014 09:31:51 +0000 (10:31 +0100)]
Fix up comment.

10 years agoHandle BinaryStringValue in codegen.
Kim Grasman [Sun, 5 Jan 2014 09:27:54 +0000 (10:27 +0100)]
Handle BinaryStringValue in codegen.

10 years agoSimplify grammar to more correctly parse bstrings.
Kim Grasman [Sat, 4 Jan 2014 22:01:36 +0000 (23:01 +0100)]
Simplify grammar to more correctly parse bstrings.

10 years agoDisallow empty file.
Kim Grasman [Sat, 4 Jan 2014 21:50:12 +0000 (22:50 +0100)]
Disallow empty file.
This fixes error detection, if not reporting.

10 years agoRename test data.
Kim Grasman [Sat, 4 Jan 2014 21:34:52 +0000 (22:34 +0100)]
Rename test data.

10 years agoSupport for binary string literals.
Kim Grasman [Fri, 3 Jan 2014 16:42:47 +0000 (17:42 +0100)]
Support for binary string literals.
Codegen still TBD.
Inspired by patch by James Ward.

10 years agoSupport extension markers in ENUMERATED.
Kim Grasman [Thu, 2 Jan 2014 08:35:12 +0000 (09:35 +0100)]
Support extension markers in ENUMERATED.
Based on patch by James Ward.

10 years agoSupport IA5String type.
Kim Grasman [Wed, 1 Jan 2014 17:41:10 +0000 (18:41 +0100)]
Support IA5String type.
Patch by James Ward.

10 years agoSupport for multiple module definitions in the same file.
Kim Grasman [Wed, 1 Jan 2014 16:25:20 +0000 (17:25 +0100)]
Support for multiple module definitions in the same file.
Based on original work by James Ward.

10 years agoIgnore todo.txt
Kim Grasman [Wed, 1 Jan 2014 15:20:17 +0000 (16:20 +0100)]
Ignore todo.txt

10 years agoRemove trailing-semicolon extension.
Kim Grasman [Wed, 9 Oct 2013 14:48:17 +0000 (16:48 +0200)]
Remove trailing-semicolon extension.

10 years agoAllow empty module body. Sema now sees exports, imports and assignments.
Kim Grasman [Sat, 21 Sep 2013 12:07:41 +0000 (14:07 +0200)]
Allow empty module body. Sema now sees exports, imports and assignments.

10 years agoFlow IMPORTS and EXPORTS through to sema. Not used there yet.
Kim Grasman [Fri, 20 Sep 2013 20:41:33 +0000 (22:41 +0200)]
Flow IMPORTS and EXPORTS through to sema. Not used there yet.

10 years agoUse EXPORTS ALL; instead of EXPORTS EVERYTHING;
Kim Grasman [Fri, 20 Sep 2013 20:30:46 +0000 (22:30 +0200)]
Use EXPORTS ALL; instead of EXPORTS EVERYTHING;

10 years agoMake semicolons required in IMPORTS and EXPORTS.
Kim Grasman [Fri, 20 Sep 2013 20:30:04 +0000 (22:30 +0200)]
Make semicolons required in IMPORTS and EXPORTS.

10 years agoSupport both import and export in same file 3/head
JohnTESlade [Fri, 20 Sep 2013 15:44:20 +0000 (16:44 +0100)]
Support both import and export in same file

10 years agoSupport ASN1 with EXPORTS
JohnTESlade [Fri, 20 Sep 2013 15:26:01 +0000 (16:26 +0100)]
Support ASN1 with EXPORTS

10 years agoAdd bash testing script
JohnTESlade [Fri, 20 Sep 2013 13:26:39 +0000 (14:26 +0100)]
Add bash testing script

10 years agoCodegen actual useful.ObjectDescriptor type, now supported in pyasn1.
Kim Grasman [Tue, 3 Sep 2013 18:39:59 +0000 (20:39 +0200)]
Codegen actual useful.ObjectDescriptor type, now supported in pyasn1.

10 years agoSupport PrintableString.
Kim Grasman [Thu, 29 Aug 2013 18:45:08 +0000 (20:45 +0200)]
Support PrintableString.

10 years agoSupport NumericString.
Kim Grasman [Thu, 29 Aug 2013 18:43:31 +0000 (20:43 +0200)]
Support NumericString.

10 years agoAdd note on semantic analysis to TODO list.
Kim Grasman [Thu, 29 Aug 2013 15:46:59 +0000 (17:46 +0200)]
Add note on semantic analysis to TODO list.