Skip to content
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

improve binary parsing of isodat files #124

Open
1 of 12 tasks
sebkopf opened this issue Sep 29, 2020 · 0 comments
Open
1 of 12 tasks

improve binary parsing of isodat files #124

sebkopf opened this issue Sep 29, 2020 · 0 comments

Comments

@sebkopf
Copy link
Contributor

sebkopf commented Sep 29, 2020

take advantage of several more specific codes for faster interpretation of results and to avoid slow regular expressions:

  • FF FE FF x = always followed by x (byte interpreted as number) number of unicode characters, could just parse the entire file for text before doing anything else, same as we do with the C-blocks)
  • x 0 0 0 = structural elements, sometimes data types markers

list of things to implement

  • structure analysis (blocks field in binary file)
  • rewrite file navigation in terms of the overall blocks rather than just C-blocks
  • rewrite peak table parsing based on the structure blocks instead of slow loops
  • rewrite file info parsing based on the structure blocks
  • rewrite gas config parsing and raw data based on the structure blocks
  • rewrite the rest based on the structure blocks for cf files
  • rewrite scan files read based on structurte blocks
  • rewrite did files read based on structure blocks
  • make binary_file class isodat_binary_file class (extends binary_file)
  • introduce is_binary_file, is_isodat_binary_file for easier use in stopifnot checks
  • rename binary to source throughout
  • test with all available files to make sure everything still works as intended
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant