pya2ldb 1.0.331__tar.gz → 1.0.332__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/PKG-INFO +1 -1
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/aml_parser.hpp +71 -9
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/ifdata_parser.py +6 -2
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/version.py +1 -1
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pyproject.toml +2 -2
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/LICENSE +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/build_ext.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/docs/README.rst +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/__init__.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/a2l_listener.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/a2llg.g4 +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/a2lparser.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/a2lparser_wrapper.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/__init__.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/aml_lexer.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/aml_visitor.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/aml_visitor.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/classes.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/db.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/ifdata_lexer.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/klasses.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/listener.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/marshal.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/parser.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/parser.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/types.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/unmarshal.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml/unmarshal.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml.g4 +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/aml_parser.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/amlparser_wrapper.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/api/__init__.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/api/create.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/api/inspect.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/api/validate.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/build/README.rst +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/build/__init__.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/buildGrammar.bat +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/buildGrammars.cmd +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/cgen/__init__.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/cgen/templates/__init__.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/cgen/templates/a2l.tmpl +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/classes.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/cse_units.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/examples/ASAP2_Demo_V161.a2l +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/examples/etas.aml +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/examples/ex01.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/examples/ex02.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/examples/ex03.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/examples/ex04.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/examples/ex_variants.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/examples/ifdata_tester.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/examples/parse_aml_tst.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/examples/variants.a2l +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/examples/vector.aml +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/exceptions.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/FreeA2LParser/FreeA2LParser.sln +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/FreeA2LParser/FreeA2LParser.vcxproj +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/FreeA2LParser/FreeA2LParser.vcxproj.filters +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/FreeA2LParser/FreeA2LParser.vcxproj.user +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/FreeA2LParser/packages.config +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/a2l.tokens +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/a2lparser.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/a2ltoken.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/asam_types.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/cmake/.FindANTLR.cmake.swp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/cmake/Antlr4Package.md +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/cmake/ExternalAntlr4Cpp.cmake +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/cmake/FindANTLR.cmake +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/cmake/antlr4-generator.cmake.in +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/cmake/antlr4-runtime.cmake.in +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/ctre.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/exceptions.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/exceptions.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/gen_token_files.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/generator.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/generator.txt +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/ifdata.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/keyword.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/line_map.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/line_numbers.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/logger.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/parameter.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/parser_table.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/preprocessor.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/regex.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/async.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/async_logger-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/async_logger.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/cfg/argv.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/cfg/env.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/cfg/helpers-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/cfg/helpers.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/common-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/common.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/backtracer-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/backtracer.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/circular_q.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/console_globals.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/file_helper-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/file_helper.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/fmt_helper.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/log_msg-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/log_msg.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/log_msg_buffer-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/log_msg_buffer.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/mpmc_blocking_q.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/null_mutex.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/os-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/os.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/periodic_worker-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/periodic_worker.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/registry-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/registry.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/synchronous_factory.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/tcp_client-windows.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/tcp_client.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/thread_pool-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/thread_pool.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/udp_client-windows.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/udp_client.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/details/windows_include.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bin_to_hex.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/args.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/base.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/chrono.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/color.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/compile.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/core.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/fmt.license.rst +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/format-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/format.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/locale.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/os.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/ostream.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/printf.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/ranges.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/std.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/bundled/xchar.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/chrono.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/compile.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/fmt.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/ostr.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/ranges.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/std.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fmt/xchar.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/formatter.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/fwd.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/logger-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/logger.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/mdc.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/pattern_formatter-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/pattern_formatter.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/android_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/ansicolor_sink-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/ansicolor_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/base_sink-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/base_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/basic_file_sink-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/basic_file_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/callback_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/daily_file_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/dist_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/dup_filter_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/hourly_file_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/kafka_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/mongo_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/msvc_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/null_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/ostream_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/qt_sinks.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/ringbuffer_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/rotating_file_sink-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/rotating_file_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/sink-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/stdout_color_sinks-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/stdout_color_sinks.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/stdout_sinks-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/stdout_sinks.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/syslog_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/systemd_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/tcp_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/udp_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/win_eventlog_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/wincolor_sink-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/sinks/wincolor_sink.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/spdlog-inl.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/spdlog.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/stopwatch.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/tweakme.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/spdlog/version.h +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/sysconsts.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/tempfile.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/token_stream.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/token_stream.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/token_type.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/tokenizer.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/tokenizer.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/tokenstream_wrapper.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/utils.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/valuecontainer.hpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/functions.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/if_data_parser.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/if_data_parser.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/imex/__init__.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/imex/a2l_exporter.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/imex/json_exporter.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/logger.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/model/__init__.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/model/mixins.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/parserlib.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/parsers.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/preprocessor_wrapper.cpp +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/scripts/a2ldb_imex.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/scripts/benchmark.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/templates.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/__init__.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/clean_ifdata.a2l +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/multiple_ifdatas_per_line.a2l +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/notso_clean_ifdata.a2l +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/notso_clean_ifdata2.a2l +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/singleline_ifdata.a2l +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/testCygpath.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_a2l_parser.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_api_create.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_api_inspect.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_cache_session.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_cse_units.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_cse_units_extra.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_exceptions.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_export_concurrency.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_export_symbol_link.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_formula_modes.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_functions.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_inspect_utils.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_utils.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/tests/test_various.py +0 -0
- {pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/utils.py +0 -0
|
@@ -8,7 +8,11 @@
|
|
|
8
8
|
class AMLParser {
|
|
9
9
|
public:
|
|
10
10
|
|
|
11
|
-
explicit AMLParser(const std::vector<AmlToken>& tokens) : m_tokens(tokens), m_pos(0) {
|
|
11
|
+
explicit AMLParser(const std::vector<AmlToken>& tokens) : m_tokens(tokens), m_pos(0), m_error_count(0) {
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
std::size_t get_error_count() const noexcept {
|
|
15
|
+
return m_error_count;
|
|
12
16
|
}
|
|
13
17
|
|
|
14
18
|
const AmlToken& current_token() const {
|
|
@@ -150,7 +154,11 @@ class AMLParser {
|
|
|
150
154
|
std::cerr << "[WARNING (pya2l.AMLParser)] Empty AML section - no tokens to parse." << std::endl;
|
|
151
155
|
return {};
|
|
152
156
|
}
|
|
153
|
-
|
|
157
|
+
auto result = aml_file();
|
|
158
|
+
if (m_error_count > 0) {
|
|
159
|
+
std::cerr << "[WARNING (pya2l.AMLParser)] AML parsing completed with " << m_error_count << " error(s) - some definitions were skipped." << std::endl;
|
|
160
|
+
}
|
|
161
|
+
return result;
|
|
154
162
|
}
|
|
155
163
|
|
|
156
164
|
auto aml_file() -> AmlFile {
|
|
@@ -171,10 +179,17 @@ class AMLParser {
|
|
|
171
179
|
if (token.type == AmlTokenType::END) {
|
|
172
180
|
break;
|
|
173
181
|
}
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
182
|
+
try {
|
|
183
|
+
if (token.type == AmlTokenType::BLOCK) {
|
|
184
|
+
decls.emplace_back(nullptr, std::make_shared<BlockDefinition>(block_definition()));
|
|
185
|
+
} else {
|
|
186
|
+
decls.emplace_back(std::make_shared<TypeDefinition>(type_definition()), nullptr);
|
|
187
|
+
}
|
|
188
|
+
} catch (const std::runtime_error& e) {
|
|
189
|
+
m_error_count++;
|
|
190
|
+
std::cerr << "[WARNING (pya2l.AMLParser)] Skipping declaration: " << e.what() << std::endl;
|
|
191
|
+
skip_to_next_member();
|
|
192
|
+
continue;
|
|
178
193
|
}
|
|
179
194
|
token = current_token();
|
|
180
195
|
if (token.type == AmlTokenType::SEMI) {
|
|
@@ -264,7 +279,13 @@ class AMLParser {
|
|
|
264
279
|
if (token.type == AmlTokenType::RBRACE) {
|
|
265
280
|
break;
|
|
266
281
|
}
|
|
267
|
-
|
|
282
|
+
try {
|
|
283
|
+
members.emplace_back(struct_member());
|
|
284
|
+
} catch (const std::runtime_error& e) {
|
|
285
|
+
m_error_count++;
|
|
286
|
+
std::cerr << "[WARNING (pya2l.AMLParser)] Skipping struct member: " << e.what() << std::endl;
|
|
287
|
+
skip_to_next_member();
|
|
288
|
+
}
|
|
268
289
|
}
|
|
269
290
|
match(AmlTokenType::RBRACE);
|
|
270
291
|
return Struct(name, members);
|
|
@@ -303,7 +324,13 @@ class AMLParser {
|
|
|
303
324
|
if (token.type == AmlTokenType::RBRACE) {
|
|
304
325
|
break;
|
|
305
326
|
}
|
|
306
|
-
|
|
327
|
+
try {
|
|
328
|
+
members.emplace_back(tagged_struct_member());
|
|
329
|
+
} catch (const std::runtime_error& e) {
|
|
330
|
+
m_error_count++;
|
|
331
|
+
std::cerr << "[WARNING (pya2l.AMLParser)] Skipping tagged struct member: " << e.what() << std::endl;
|
|
332
|
+
skip_to_next_member();
|
|
333
|
+
}
|
|
307
334
|
}
|
|
308
335
|
match(AmlTokenType::RBRACE);
|
|
309
336
|
} else {
|
|
@@ -403,7 +430,13 @@ class AMLParser {
|
|
|
403
430
|
if (token.type == AmlTokenType::RBRACE) {
|
|
404
431
|
break;
|
|
405
432
|
}
|
|
406
|
-
|
|
433
|
+
try {
|
|
434
|
+
members.emplace_back(tagged_union_member());
|
|
435
|
+
} catch (const std::runtime_error& e) {
|
|
436
|
+
m_error_count++;
|
|
437
|
+
std::cerr << "[WARNING (pya2l.AMLParser)] Skipping tagged union member: " << e.what() << std::endl;
|
|
438
|
+
skip_to_next_member();
|
|
439
|
+
}
|
|
407
440
|
}
|
|
408
441
|
match(AmlTokenType::RBRACE);
|
|
409
442
|
return TaggedUnion(name, std::move(members));
|
|
@@ -517,8 +550,37 @@ class AMLParser {
|
|
|
517
550
|
|
|
518
551
|
private:
|
|
519
552
|
|
|
553
|
+
void skip_to_next_member() {
|
|
554
|
+
int brace_depth = 0;
|
|
555
|
+
int paren_depth = 0;
|
|
556
|
+
while (m_pos < std::size(m_tokens)) {
|
|
557
|
+
auto& token = m_tokens[m_pos];
|
|
558
|
+
if (token.type == AmlTokenType::LBRACE) {
|
|
559
|
+
brace_depth++;
|
|
560
|
+
} else if (token.type == AmlTokenType::RBRACE) {
|
|
561
|
+
if (brace_depth == 0) {
|
|
562
|
+
return; // End of containing block — don't consume
|
|
563
|
+
}
|
|
564
|
+
brace_depth--;
|
|
565
|
+
} else if (token.type == AmlTokenType::LPARAN) {
|
|
566
|
+
paren_depth++;
|
|
567
|
+
} else if (token.type == AmlTokenType::RPARAN) {
|
|
568
|
+
if (paren_depth > 0) {
|
|
569
|
+
paren_depth--;
|
|
570
|
+
}
|
|
571
|
+
} else if (token.type == AmlTokenType::SEMI && brace_depth == 0 && paren_depth == 0) {
|
|
572
|
+
m_pos++; // Consume the semicolon
|
|
573
|
+
return; // Ready for next member
|
|
574
|
+
} else if (token.type == AmlTokenType::END && brace_depth == 0) {
|
|
575
|
+
return; // End of AML block
|
|
576
|
+
}
|
|
577
|
+
m_pos++;
|
|
578
|
+
}
|
|
579
|
+
}
|
|
580
|
+
|
|
520
581
|
std::vector<AmlToken> m_tokens;
|
|
521
582
|
std::size_t m_pos;
|
|
583
|
+
std::size_t m_error_count;
|
|
522
584
|
};
|
|
523
585
|
|
|
524
586
|
// }; // namespace Aml
|
|
@@ -259,8 +259,12 @@ class IfDataParser:
|
|
|
259
259
|
|
|
260
260
|
# Initialize from session
|
|
261
261
|
aml_section = session.query(model.AMLSection).first()
|
|
262
|
-
if aml_section:
|
|
263
|
-
|
|
262
|
+
if aml_section and aml_section.parsed:
|
|
263
|
+
try:
|
|
264
|
+
aml_root = unmarshal(aml_section.parsed)
|
|
265
|
+
except (RuntimeError, Exception) as e:
|
|
266
|
+
self.logger.error(f"Failed to unmarshal AML section: {e}")
|
|
267
|
+
return
|
|
264
268
|
self.root = self.traverse(aml_root)
|
|
265
269
|
if self.root and self.root.members:
|
|
266
270
|
try:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[tool.poetry]
|
|
2
2
|
name = "pya2ldb"
|
|
3
|
-
version = "1.0.
|
|
3
|
+
version = "1.0.332"
|
|
4
4
|
description = "A2L for Python"
|
|
5
5
|
authors = ["Christoph Schueler <cpu12.gems@googlemail.com>"]
|
|
6
6
|
license = "GPLv2"
|
|
@@ -54,7 +54,7 @@ pyupgrade = "^3.16.0"
|
|
|
54
54
|
bumpver = "^2024.1130"
|
|
55
55
|
|
|
56
56
|
[tool.bumpver]
|
|
57
|
-
current_version = "1.0.
|
|
57
|
+
current_version = "1.0.332"
|
|
58
58
|
version_pattern = "MAJOR.MINOR.PATCH"
|
|
59
59
|
commit_message = "bump version {old_version} -> {new_version}"
|
|
60
60
|
commit = true
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/FreeA2LParser/FreeA2LParser.vcxproj.filters
RENAMED
|
File without changes
|
{pya2ldb-1.0.331 → pya2ldb-1.0.332}/pya2l/extensions/FreeA2LParser/FreeA2LParser.vcxproj.user
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|