Comments (5)
Hi James, thanks for the report!
I don't quite understand the semantics of automatic tagging, it feels like an ASN.1 definition with it enabled would be pretty useless if the auto-generated tags weren't stable. So I guess ideally you'd want to generate the same tag for the same element, irrespective of order.
But I don't know what other generators do... Can you compare output of some ASN.1->C generators with automatic tags, and see what kind of semantics they have? E.g. this one, which seems competent: https://lionet.info/asn1c/download.html
It feels like this should be a property of the code generator, but it would be nice to put it into the semantic model as well, so different code generators wouldn't have to invent their own mechanisms... Given that the resolution of implicity currently happens in codegen, maybe that's a good place to start, though.
Sorry I don't have more direct advice, but I'm embarrassingly unfamiliar with semantics for ASN.1 features I haven't used (and likewise with some of the stuff I have used :-)).
from asn1ate.
Latest commit on separate branch now deals with this inside Sema.py. Much nicer solution - thank you for the help.
from asn1ate.
Thanks, this looks nice! See inline for questions and a few ideas.
from asn1ate.
Sorry, I didn't see that you had updated this. I'll try and look through it during next week.
from asn1ate.
This looks great! I have a few ideas for cleanups, but I can do those separately.
It's impressive how small the patch turned out eventually. And thanks for the good test coverage, it's a shame we can't assert facts about the generated code here...
Can you create a pull request from your sema-autotag
branch?
from asn1ate.
Related Issues (20)
- Fail to parse Kerberos ASN.1 HOT 17
- output missing size constaint HOT 6
- multi-module asn files don't work HOT 8
- default vales for enums need to be strings HOT 4
- Support for CLASS ... WITH SYNTAX ... HOT 6
- to support Brace value notation assignment HOT 4
- Emits invalid python for `BOOLEAN true` HOT 1
- Failure parsing minimal example with VisibleString HOT 3
- restricted_integer_type range constraint HOT 2
- Parsing Error: pyparsing.ParseException: Expected "DEFINITIONS" HOT 5
- resolve imported type declarations HOT 1
- KeyError: if the type is in another module. HOT 2
- single value and range constraint with both '..' and '|' HOT 3
- KeyError EXTERNAL HOT 6
- asn1ate generates incorrect code for DefaultedNamedType
- Feauture Request for 0.6.1: Parsing DEFAULT with structure HOT 1
- interdependent asn1 files to py files HOT 2
- asn1ate needs wheels HOT 9
- PyParsing issue (and work-around) HOT 4
- ParseException: Expected Keyword 'DEFINITIONS', found 'AUTOMATIC' HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from asn1ate.