-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Could you publish the specification for the grammars syntax? #5
Comments
|
Thank you.
I know that they are length prefixed. But the length may differ. Is the length 1-byte?
This is the especially valuable clarification, since I expected a bit different behavior (raising an error when a signature is not matched). BTW, the software I develop is https://github.com/KOLANICH/synalysis2kaitai . |
For multi-byte encodings like UTF-16 the length is 2 bytes. However, Pascal strings are usually prefixed with a single byte length. These built-in data types work in many cases - for more special requirements data types can be parsed with Python or Lua scripts. In chapter 6 of https://www.synalyze-it.com/Synalyze_It_Manual.pdf you find some additional information regarding "mustmatch". So for structures with variable element order the parser can automatically select the one that should be used - where all constraints are met. |
Thank you for the info. Could you also clarify what do |
|
Could you clarify, please:
? |
I mean that there is enough information in the grammars themselves, but something is still unclear:
dynamic
endian?zero-terminated
anddelimiter-terminated
withdelimiter
=\0
?fixedvalues
do?mustmatch
do even 8n non-fixedvalues
tags?id
s be non-integer?.... etc
The text was updated successfully, but these errors were encountered: