A lot of functionality has been added to the library. Unfortunately some changes are breaking. It is quite easy to adapt to the changes, because only the syntactic interface (different module names, function names, ...) has been changed but not the semantic interface.
Fmlib_browser:
Fmlib_pretty:
Fmlib_parse:
Bugfix release to fix a bug in unicode parsers by parsing empty input streams.
Fmlib_browser:
Added parallel execution of tasks.
Fmlib_parse:
Added unicode parsing
Added byte_position and byte_offset to module Position
Added and streamlined support for partial parsing. In particular the parsers with lexers support fully partial parsers. Glueing of partial parsers now works with fold_lookahead or transfer_lookahead.
Fmlib_parse::
Fix: Bug in Source_extractor, introduced in the previous release.
Added Parse_with_lexer.range to return the range of the token which caused a syntax error.
Fmlib_parse:
Position distinguishes byte and character position. The absolute byte offset from the beginning of the file is included.Fmlib_parse:
Character to support writing of lexers. E.g. make_partial, restart_partial, lexer.Error_reporter.Fmlib_browser:
on_animation.Html.map and Attribute.map.Fmlib_std:
Array and Btree to exploit physical identity. An update operation where the new element is the same as the original element can be ignored.Fmlib_browser:
debug functionsvalue property and not value attribute. Reason: The browser updates only the property and not the attribute.sandbox_plus (a sandbox with subscriptions) and basic_application(an application without javascript communication).svg elements.Subscription.on_keyup.Command.map.Command.just_do which does not send a message back to the application.Fmlib_browserFmlib.Fmlib_parse:
<?> operator with layout parsingFmlib_parsefold_lookahead.MINIMAL_PARSER, NORMAL_PARSER, FULL_PARSER, LEXER.Token_parser and Parse_with_lex to support the separation of parsing and lexing.Fmlib_stdFmlib_prettyFmlib_parse