aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/src/asn1ct_gen.erl
AgeCommit message (Collapse)Author
2013-05-31Open the output file in raw mode with delayed writeBjörn Gustavsson
This change brings down the execution time on my computer for the entire asn1 test suite from about 340 seconds to 310 seconds.
2013-05-31Generate one call to io:put_chars/2 for each call to asn1ct_gen:emit/1Björn Gustavsson
asn1ct_gen:emit/1 used to make one call to io:put_chars/2 for each part of the term passed emit/1. By collecting all output into one iolist for each call emit/1 the time for running the entire asn1 test suite is reduced from about 460 seconds to 340 seconds on my computer.
2013-05-31Get rid of 'ANY' in the backendsBjörn Gustavsson
asn1ct_check has translated all occurrences of 'ANY' to 'ASN1_OPEN_TYPE'.
2013-05-31Eliminate general use of #typereference{}Björn Gustavsson
The record #typereference{} is only used internally within the asn1ct_parser2 module (the parser translates it to an #'Externaltypereference{} record).
2013-05-31PER/UPER: Share all code except encoding of primitivesBjörn Gustavsson
The only code that is really different between the PER and UPER backends is encoding of primitive types.
2013-02-14der: Correct code generation for checking of empty setsBjörn Gustavsson
The ASN.1 compiler would generate an Erlang module with incorrect syntax for: T DEFINITIONS AUTOMATIC TAGS ::= BEGIN Empty ::= SET { } S ::= SEQUENCE { e Empty DEFAULT {} } END
2013-01-25Update copyright yearsBjörn-Egil Dahlberg
2013-01-24Don't export encode_disp/2 and decode_disp/2 in generated modulesBjörn Gustavsson
Those functions were exported for no good reason.
2013-01-23By default, encode BIT STRING to bitstringsBjörn Gustavsson
Add the option 'legacy_bit_string' to decode to the old list format.
2013-01-22Remove the 'inline' and '{inline,OutputFile}' optionsBjörn Gustavsson
2013-01-22Add and use asn1rtt_checkBjörn Gustavsson
2013-01-22Add run-time library templates and use themBjörn Gustavsson
The template modules (asn1rtt_*.erl) are based on the existing run-time modules, but with some simplifications and improvements, for example: The run-time functions for BER encoding took a Constraint argument which was not used. It has been eliminated, along with the unused StringType argument for the encode_restricted_string function. The Range argument for decode_enumerated() has been dropped since it was not used.
2013-01-22Add a mechanism for embedding run-time functions into the generated codeBjörn Gustavsson
2012-12-06Suppress warnings for unused variables using a compiler optionBjörn Gustavsson
Currently, the generated code suppresses warnings for unusued variables by assigning to the "_Val" variable, for example: _Val = Tmpval5 To be completely safe, that should have been: _ = Tmpval5 in case there happens to more than one such assignment in the same scope. However, a better way to suppress warnings is to simply use the 'nowarn_unused_vars' compiler option. That method will also work for more complicated expressions there it would be cumbersome to suppress warnings by assignment to "_".
2012-11-26Simplify the code for the generated info/0 functionBjörn Gustavsson
While at it, also make the generated code for the attributes more readable.
2012-11-23Remove obsolete back-ends and simplify the optionsBjörn Gustavsson
It is time to clean up the mess of back-ends. Remove all the obsolete back-ends and simplify the options used to select them. New Option Old Equivalent ---------- -------------- ber ber_bin,optimize,nif per per,optimize,nif uper uper_bin The old options will still be recognized and translated to the new options, but will also print a warning. That implies that deprecated features that only are implemented in the old 'ber' back-end will no longer work (e.g. the {Typename,Value} notation). Also make the return type for the generated encode/2 function consistent. It used to be a binary for per and uper, and an iolist for ber. Always make it a binary.
2012-11-22Make the specialized decodes work with the 'nif' optionBjörn Gustavsson
2012-07-11Add support for extensible enumeration types in n2nGustav Simonsson
generated functions. OTP-10144
2012-07-11Make n2n option work for enumerated types without extensionGustav Simonsson
markers. Add test enumeration types for testing n2n option when using the name2num and num2name functions on an enumeration value not in the extension root of an enumeration type with extension marker.
2012-02-28[asn1] Abstract out table access to new moduleAdam Lindberg
All table access is now performed in a separate module. This will allow changes to how ETS is handled by changing only this module. Note that the module exports a very ETS-like interface for now which would have to be maintained even if the data format would change (to a hash map for example).
2011-08-02Remove some superflous includes which caused inlined modules to have lots of ↵Lukas Larsson
compile warnings
2011-08-01Update decode_open_type to use nifs if configured to do soLukas Larsson
2011-08-01Remove driver support for per encodingLukas Larsson
Handle the new error messages from the asn1 nifs Remove dead code for erlang optimized per decode
2011-08-01Remove driver support for ber decodingLukas Larsson
Handle the new error messages from the asn1 nifs Make ber nif decoding use the erlang fallback if the nif could not be loaded. This is useful for application which use inline (such as public_key) and want to work without the nifs, but should use them if they exist
2011-08-01Add support for nif option to optimized ber_bin_v2 asn1 compilationLukas Larsson
2011-08-01Add support for nif option to optimized PER asn1 compilationLukas Larsson
2011-03-11Update copyright yearsBjörn-Egil Dahlberg
2011-02-17Merge branch 'ta/asn1-reporting' into devNiclas Axelsson
* ta/asn1-reporting: asn1ct: Make formatting of errors and warnings consistent OTP-9062
2010-09-10Merge branch 'kenneth/asn1/nested_extaddgroup/OTP-8797' into devKenneth Lundin
* kenneth/asn1/nested_extaddgroup/OTP-8797: Add support for ExtensionAdditionGroup notation in nested types as well Conflicts: lib/asn1/test/test_undecoded_rest.erl
2010-09-07Add support for ExtensionAdditionGroup notation in nested types as wellKenneth Lundin
In the previous version support for ExtensionAdditionGroups (i.e [[...]]) was added but it did not handle the occurence of the notation in nested types. Now this is handled as well and the support is hopefully complete. Also cleanup of warnings for obsolete guard functions in test suites.
2010-09-01Merge branch 'maint-r13' into devBjörn Gustavsson
* maint-r13: asn1 tests: Remove duplicated SUITE data directories Update of vsn.mk, relnotes and appup for patch in R13B04 track Add support for Extension addition group Conflicts: lib/asn1/test/Makefile lib/asn1/test/asn1_SUITE.erl.src lib/asn1/vsn.mk OTP-8598
2010-08-25Add support for Extension addition groupKenneth Lundin
2010-05-05asn1ct: Make formatting of errors and warnings consistentTuncer Ayaz
Consistently format warning and error reports. Warning and error options from erlc now also work in asnc1ct. Signed-off-by: Tuncer Ayaz <[email protected]>
2010-04-08Teach asn1ct verbose optionTuncer Ayaz
Change asn1ct to print verbose information only when asked to. Signed-off-by: Tuncer Ayaz <[email protected]>
2010-02-17Merge branch 'tj/asn1_macro_prefix' into ccase/r13b04_devErlang/OTP
* tj/asn1_macro_prefix: Add support for prefixing macro names generated by the compiler OTP-8453 tj/asn1_macro_prefix
2010-02-17Merge branch 'ks/cleanups' into ccase/r13b04_devErlang/OTP
* ks/cleanups: percept: Clean up as suggested by tidier percept: Modernize types and specs parsetools: Don't use 'try...of' when 'try' will do parsetools: Use %% for comments at the beginning of a line parsetools: Replace lists:keysearch/3 with lists:keyfind/3 parsetools: Modernize types and specs parsetools: Replace TABs with spaces runtime_tools: Modernize specs sasl: Eliminate tuple used as fun sasl: Add missing modules to app file asn1: Clean up as suggested by tidier os_mon: Modernize types and specs wx: Clean up as suggested by tidier OTP-8455 ks/cleanups
2010-02-16asn1: Clean up as suggested by tidierKostis Sagonas
2010-02-16Add support for prefixing macro names generated by the compilerTomas Johansson
This is useful when multiple protocols that contains macros with identical names are included in a single module. Add the missing record_name_prefix compiler option to the documentation.
2009-11-20The R13B03 release.OTP_R13B03Erlang/OTP