xR3b0rn / dbcppp

C/C++ DBC file parser/tool
MIT License
225 stars 73 forks source link

Remove boost dependencies of non header only libraries, extract required boost-headers and switch to boost::spirit::x3 #44

Closed xR3b0rn closed 3 years ago

ngbrown commented 3 years ago

Instead of writing a parser from scratch, probably better to use one that can generate self-contained code. In Python, I've been using a dbc parser based on ply, a lex/yacc based parser. I know of a source generator inspired by ply for c# . There might be something similar for c++. If not, is it really that big of a burden to include boost? A customized subset can be generated and included in-tree.

xR3b0rn commented 3 years ago

Thanks for the hint. After a bit of investigateion, I think I will try to remove all non header only boost libraries, extract the required boost-headers for spirit and then (if everything works) rewrite the grammer using x3.

xR3b0rn commented 3 years ago

Added required boost headers to the project: bda3eb862f4d5192b8e33bf21dcfa97ef4737b6a Moved from boost::spirit::qi to boost::spirit::x3: e65e657c97feb402657940f332aaec0932066dc2