After upgrading from Quex v0.66.5 to 0.67.5 I get an error related to ICU, the error message says --icu is no longer supported and that I should look in the documentation for the new way of doing it, but I can only find old examples online. Please point me to some documentation or examples for non --icu . Here is my build that won't work after the upgrade to Quex 0.67.5:
call "$(QUEX_PATH)quex.bat" -o kvql::Lexer -i definitions.qx on_failure.qx end_of_file.qx program.qx --file-extension-scheme pp --token-id-prefix TEST_TKN_ --token-policy single --suppress 6 -b 4 --icu
Here is the error message:
1>command line: Command line option '--icu' is ignored.
1>command line: Option '--icu' no longer supported. Converters are passed created by
1>command line: user and passed to constructor. See demo examples or documentation.
1>command line: Last version of Quex supporting this option is version 0.67.2. Please, visit
1>command line: http://quex.org for further information.
Thank you for Quex!
You might want to have a look into the demo directories.
I think it was 03...
demo/C/04-...
or demo/Cpp/04-...
Thanks, it's the 03 demo.
I absolutely LOVE Quex, but here comes some grime and hopefully some good feedback :) It seems that upgrading from Quex 0.66.5 to 0.67.5 introduces a lot of breaking changes, please consider writing an upgrade guide and updating the online documentation when breaking changes are introduced even though its still in alpha.
It seems that also --token-policy is no longer supported with 0.67.5, when I remove that flag it compiles but with lots of errors when in use which I have not the time to fix now, so I'm sticking with 0.66.5 as it works well enough.
I'm looking forward to a Quex Beta version soon with some stable API's ;)
Thanks again for Quex!
Sorry, for the inconvenience. I am currently writing on the documentation. However,
whenever I see a low hanging fruit, a nice little feature to add, I stop and implement
that first...
The version 0.67.5 has a very much streamlined API that allows for the plugging of
any type of input channel. In the demos, for example, it is shown how to feed lexical
analyzers via the command line or via a socket connection.
The API of IConv and ICU has been extracted for the sake of generality, also. I hoped
that the demos showed enough of how to use these converters. Connecting customized
converters can now happen without Quex being involved at all.
The computational overhead of the token policy 'queue' over 'single' was not measurable.
So, it has been decided to omit the special case 'single' in preference of the generally
applicable policy 'queue'. The adaption should not require much effort.
May be, it would be more advisable to work with a 'todo-later' list instead of catching
every seemingly low-hanging fruit. I will consider your comment and give the progress
on documentation a higher priority.
Thanks.