Changes for version 3.0.30 - 2020-02-22

  • Jean-Damien Durand <jeandamiendurand@free.fr>
    • Version 3.0.30 [ci skip]
    • src/marpaESLIF.c: Instructions optimization [ci skip]
    • Merge commit 'a5f042913b3e343ea19b8e4a38dd8d346cb0b7b4' [ci skip]
    • Squashed '3rdparty/github/marpaWrapper/' changes from 0d61a065..49d07b65
    • Merge commit '7845601a33d8fa81c850a5249fc174289a8f45ae' [ci skip]
    • Squashed '3rdparty/github/genericHash/' changes from 50410e3f..08a56f31
    • Squashed '3rdparty/github/genericStack/' changes from ab4943aa..4544f567
    • Merge commit '398d95fa2655d4696a72cb3823ee58f1c145d214' [ci skip]
    • src/marpaESLIF.c: set GENERICSTACK_DEFAULT_LENGTH to 1024 [ci skip]
    • src/marpaESLIF.c: Fixed a warning detected by clang [ci skip]
    • Java JSON dev+
    • Default JSON strict mode is a true value
    • Java ESLIFJSONDecoder dev+
    • marpa/ESLIFJSONDecoder.java: decode() method [ci skip]
    • marpa/ESLIFJSONEncoder.java: encode() method synopsis fix [ci skip]
    • marpa/ESLIFJSONDecoderOption.java: Add [ci skip]
    • marpa/ESLIFJSONEncoder.java: Add an example in synopsis [ci skip]
    • Java: ESLIFJSONEncoder
    • java: ESLIFJSONEncoder and ESLIFJSONSDecoder dev+
    • java/marpaESLIFJava.c: +/-Infinity and NaN better support, start of JSON encoder/decoder support
    • perl/ESLIF.xs: do not convert to Math::BigFloat when this is +/-Infinity or NaN
    • Re-introduce marpaESLIFValueResult_isinfb() and marpaESLIFValueResult_isnanb() when hosts do not use native float/double, or do not use/support native long double
    • Tiny processor cache optimizations
    • src/lua_marpaESLIFJSON.c: more simple version
    • src/marpaESLIFLua.c: Fix typos [ci skip]
    • Lua marpaESLIFJSON handy class
    • lua json decoder support
    • src/json.c: set errno to EINVAL if there is a maxDepth exception [ci skip]
    • perl/ESLIF.xs: maxDepthl option get fix
    • test/marpaESLIFLuaTest.lua: test json encoding on niled table and array
      • ci skip
    • src/marpaESLIF.c: use MARPAESLIFRECOGNIZER_TRACE[F] [ci skip]
    • src/marpaESLIF.c: Fix crash in _marpaESLIFRecognizer_concat_valueResultCallbackb [ci skip]
    • config_autoconf.ini: perl in cpan config [ci skip]
    • json in lua, work on _marpaESLIFRecognizer_concat_valueResultCallbackb
      • ci skip
    • .appveyor.yml: Restored all builds
    • Merge commit '3bcc1ed2dcf22a97938770505605ff90da74b63a'
    • Squashed '3rdparty/github/marpaWrapper/' changes from 61bc7e12..0d61a065
    • Squashed '3rdparty/github/genericHash/' changes from ce57ae6d..50410e3f
    • Merge commit 'b449e559aac91dba29be62a95eb5e38ad71510b3'
    • Merge commit '37b3be8cfc0d750fd327064e469ae4a2fc710116'
    • Squashed '3rdparty/github/genericStack/' changes from c7751228..ab4943aa
    • perl/ESLIF.xs: Accept default marpaESLIF proposal if valid [ci skip]
    • _marpaESLIF_flatten_pointers optimization
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_push_grammar_eventsb(), removed a non-needed and costly initialization instruction [ci skip]
    • src/bootstrap.c: Removed unused variable if compiled without MARPAESLIF_NTRACE [ci skip]
    • src/marpaESLIF.c: Removed unused variable [ci skip]
    • src/marpaESLIF.c: Add missing braces around initializer [ci skip]
    • internal/structures.h: Removed unused and badly writen constant marpaESLIF_alternative_default [ci skip]
    • src/marpaESLIFLua.c: Fixed badly writen comment [ci skip]
    • dev+
    • src/marpaESLIF.c: Fix typo in error string [ci skip]
    • Squashed '3rdparty/github/marpaWrapper/' changes from fbb6e18b..61bc7e12
    • Merge commit '283e68634cd23e523b14c7ac88b41a6b5d64f929' [ci skip]
    • Merge commit '4ccf40d0c61960823d1d760350232f3e8b898f43' [ci skip]
    • Squashed '3rdparty/github/genericStack/' changes from 4c1122c5..c7751228
    • src/marpaESLIF.c: _marpaESLIFValueResult_stack_i_setb() optim dev+ [ci skip]
    • src/marpaESLIF.c: In _marpaESLIFValueResult_stack_i_setb() removed one unnecessary memcpy, in _marpaESLIF_generic_action___concatb() respect original encoding if concatenated string is empty [ci skip]
    • src/floattos.c: Make LDBL_DECIMAL_DIG less false -;
    • Revisit marpaESLIF_[f|d|ld]tos to versions that do not loop, fix macros test on isinf and isnan check
    • Removed unbinded marpaESLIFValueResult_resetb() method
    • BNF/README.pod: Update [ci skip]
    • src/marpaESLIF.c: Return an empty STRING or ARRAY when the rule is not nullable but concatenation size is 0
    • perl/ESLIF.xs: Use Math::BigFloat->bcmp instead of bge and ble [ci skip]
    • Perl: try to favour IV or UV when decoding JSON number [ci skip]
    • perlJSON .pm files review [ci skip]
    • json revisited
    • pcre2-10.23/CMakeLists.txt: Move FIXME_CMAKE_ABSOLUTE upper
    • perl build
    • t/json.c: Removed Data::Scan::Printer
    • pcre2-10.23/CMakeLists.txt: EBCDIC and SUPPORT_UNICODE are mutually exclusive
    • PCRE2s EBCDIC and SUPPORT_UNICODE are not compatible bis [ci skip]
    • PCRE2s EBCDIC and SUPPORT_UNICODE are not compatible [ci skip]
    • pcre2 and build system [ci skip]
    • Merge commit '04872fe4f0e97d7e3c9294214ca054be3ce3b4ce' [ci skip]
    • Squashed '3rdparty/github/cmake-utils/' changes from 709184a9..7584b412
    • Add userDatavp to json decode callbacks [ci skip]
    • src/marpaESLIF.c: Removed floating point downgrade trials [ci skip]
    • JSON callbacks semantics [ci skip]
    • json internal grammar introduced the need of internal proxy representation dev+ [ci skip]
    • Perl JSON dev+ [ci skip]
    • JSON/RecognizerInterface.pm: Add [ci skip]
    • Removed internal floating point fmtss [ci skip]
    • perls JSON native encode [ci skip]
    • src/marpaESLIF.c: marpaESLIFValueResult_resetb() and force eof to true when readerCallbackp is NULL [ci skip]
    • include/marpaESLIF.h: Add marpaESLIFValueResult_resetb() [ci skip]
    • API/README.pod: More when readerCallbackp is NULL [ci skip]
    • internal/eslif/G1.h: Added "::jsonf" built-in action [ci skip]
    • src/json.c: marpaESLIFJSON_encodeb() fix [ci skip]
    • Removed marpaESLIF_isinfb() and marpaESLIF_isnanb() [ci skip]
    • Undef MSVC, strtold is strtod
    • _marpaESLIFRecognizer_value_validb() fix
    • Work on special float values
    • Work on config
    • Work on json fallback
    • Merge commit 'b6efab3fcc3656de5091728a56d7ed001f2b3fde' [ci skip]
    • Squashed '3rdparty/github/cmake-utils/' changes from 7303dc1f..709184a9
    • json number fallback dev+ [ci skip]
    • Renamed JSON action with fallback at the end [ci skip]
    • Grammar properties bindings fix and perls t/test.t upgrade [ci skip]
    • Grammar/Properties.pm: properties perl specific implementation [ci skip]
    • json decode and grammar properties implementations in bindings [ci skip]
    • Move lconv in marpaESLIF_t [ci skip]
    • Merge commit '156d638676eced64ea36579ee2d8aedb59bf3d66' [ci skip]
    • Squashed '3rdparty/github/cmake-utils/' changes from e13b3c7a..7303dc1f
    • src/json.c: Changed a WARNF to a TRACEF [ci skip]
    • Move math hacks in a specialized math.h header [ci skip]
    • Merge commit '63db070fb06c49b4a66e0be9d4f08a961e02f9e9'
    • Squashed '3rdparty/github/cmake-utils/' changes from d480cb97..e13b3c7a
    • src/marpaESLIF.c: Fix marpaESLIF_isinf [ci skip]
    • Some preprocessor warning messages
    • float constants dev+
    • test/jsonTester.c: Removed unused variables [ci skip]
    • src/json.c: Removed unused variable [ci skip]
    • Merge commit '2aefef9a4871fd5da1d49d9c7a44eceef6a53c83'
    • Squashed '3rdparty/github/cmake-utils/' changes from 3c0b6861..d480cb97
    • Work on floating point classification dev+ [ci skip]
    • json dev+
    • HUGE_VALx downgrades instead of promotions [ci skip]
    • HUGE_VALx promotions if needed [ci skip]
    • Use C_STRTOLD and C_STRTOLL [ci skip]
    • Merge commit 'f20b1c7f78758a9325aaa284e2475626c6621f44' [ci skip]
    • Squashed '3rdparty/github/cmake-utils/' changes from 21673367..3c0b6861
    • src/marpaESLIF.c: when tconv fails, try to print from and to encodings
    • test/adventTester.c: grammar is in UTF-8 [ci skip]
    • test/adventTester.c: Fix memory leak [ci skip]
    • test/jsonTester*c: move to chunk mode to please compilers having a limit on string literal length
    • Use default-encoding => UTF-8 in json grammars [ci skip]
    • Fallback charset detection support [ci skip]
    • Squashed '3rdparty/github/tconv/' changes from 346aaad2..23239076
    • Merge commit '7bfe3ea08a14858b7522930093ee91bfe3fef6b1' [ci skip]
    • Squashed '3rdparty/github/cmake-utils/' changes from 77c30aef..21673367
    • Merge commit 'd1e304cbdb7ddcefe75102f48a3fa4ad0ded6b08' [ci skip]
    • default-encoding dev+ [ci skip]
    • default-encoding and fallback-encoding dev+ [ci skip]
    • default-encoding and fallback-encoding grammar adverb items dev+ [ci skip]
    • test/jsonTesterData.c: some compilers do not like very long strings - split up to approx 100 characters [ci skip]
    • JSON dev+ [ci skip]
    • src/marpaESLIF.c: Protect _marpaESLIF_utf82ordi for an eventual read out of allowed buffer [ci skip]
    • Fix build
    • Fix possible memory leaks
    • test/jsonTester.c t+
    • Make marpaESLIFJSON_newp create grammar on demand dev+
    • test/jsonTester.c: t+ [ci skip]
    • CMakeObjects.PL upgrade and config.h.in fixes
    • src/json.c: #ifdef and not #idef -; [ci skip]
    • src/json.c: MARPAESLIF_HUGE_VALL and MARPAESLIF_HUGE_VAL tests [ci skip]
    • marpaESLIFJSONDecodeOption.noReplacementCharacterb: dev+
    • nan and inf external functions dev+
    • Merge commit 'd6e7187432e82a032a9bb6441ec0f51f75ab3131' [ci skip]
    • Squashed '3rdparty/github/cmake-utils/' changes from 2d312a45..77c30aef
    • JSON decoder dev+ [ci skip]
    • src/marpaESLIF.c: In binary mode, an empty array should not fail in ::concat [ci skip]
    • API/README.pod: Removed obsolete comments about alternative and symbol or rule callback [ci skip]
    • README.pod: typographical changes [ci skip]
    • perl/ESLIF.xs: use newRV_noinc when RETVAL is a reference to an array
      • ci skip
    • perl event callback [ci skip]
    • Do not enforce exhaustion event if recognizer interface did not set the exhausted option [ci skip]
    • event action and java [ci skip]
    • BNF/README.pod: event callback doc [ci skip]
    • event callback: do as if user would have called marpaESLIFRecognizer_eventb [ci skip]
    • event callback in lua dev+ [ci skip]
    • lua event action dev+ [ci skip]
    • dev+ [ci skip]
    • Support of RIGHTWARDS DOUBLE ARROW (U+21D2) in addition to "=>" [ci skip]
    • README.pod: Put version and licence badges first [ci skip]
    • README.pod: AppVeyor badge status [ci skip]
    • Version 3.0.29
    • t/import_export.pl: define MarpaX::ESLIF dependant input in another BEGIN block
    • src/marpaESLIF.c: Data must not be consumed until BOM removal process, if any, says ok
    • Version 3.0.28
    • Squashed '3rdparty/github/luaunpanic/' changes from 48932631..52f77812
    • Merge commit '79d9d88a69ca0ed7eec232b8cb41c3acce26eea2'
    • Version 3.0.27
    • t/test.c: ifAction symbol property test [ci skip]
    • Added missing ifACtion in perls bindings for symbol property [ci skip]
    • Added missing support of MARPAESLIF_ACTION_TYPE_LUA in all bindings [ci skip]
    • README.pod: Add build example with cmake
    • Permit to use embedded lua for if-action
    • .appveyor.yml: add skip_non_tags: true
    • back to linux only, do not understand travis os natively failing because of ruby version [ci skip]
    • travis os only (arch is too experimental) dev+ [ci skip]
    • travis os and arch dev+
    • Version 3.0.26
    • Re-enable all windows builds
    • Add /wd4018 /wd4067 if MSVC
    • Add /wd4305 /wd4309 if MSVC
    • Merge commit 'd0f9d1ae6b1b0740ae992202b2bc69c0238b7bd1'
    • Squashed '3rdparty/github/cmake-utils/' changes from 251c0b2e..2d312a45
    • dir __generated_include_dir__ if if exists
    • type __generated_include_dir__\stdint.h if if exists
    • Squashed '3rdparty/github/cmake-utils/' changes from 6d68e878..251c0b2e
    • Merge commit 'b6bfcb297353a8dedc67348f36bc9f093bd0639b'
    • Merge commit '57a78666fd93d5a533eaba29bd5fce4274021906'
    • Squashed '3rdparty/github/cmake-utils/' changes from bade164e..6d68e878
    • VS2008 dev+
    • Squashed '3rdparty/github/cmake-utils/' changes from c930960d..bade164e
    • Merge commit 'c4700b1ad34abc4e6ac290146f061704bc372706'
    • VS2008 dev+ [ci skip]
    • Merge commit '25a8c231758d6ab0a524d7de740c68c8c4d6529e'
    • Squashed '3rdparty/github/cmake-utils/' changes from 49ddd2f0..c930960d
    • Squashed '3rdparty/github/cmake-utils/' changes from b9337ca3..49ddd2f0
    • Merge commit '13cfdf102c50de389a8bd8f88e852d7ba0566323'
    • Squashed '3rdparty/github/cmake-utils/' changes from f79f3e62..b9337ca3
    • Merge commit 'e4ed7f795959e25c92b0eacbf90392b75207aa8a'
    • VS2008 use FIXME_CMAKE_ABSOLUTE dev+
    • Squashed '3rdparty/github/cmake-utils/' changes from 7dd4247d..f79f3e62
    • Merge commit '631280f94c22033ac3e3a9c492a5a47a5effdf2a'
    • Merge commit 'e23d11f93c101cd54f0c73203d6e747e61ed3cec'
    • Squashed '3rdparty/github/cmake-utils/' changes from 799c0d35..7dd4247d
    • Version 3.0.25
    • Merge commit '8ce78d2054be35c47f7388d311b5be9544479b70'
    • Squashed '3rdparty/github/luaunpanic/' changes from 30e75b82..48932631
    • Version 3.0.24
    • Merge commit '95044777523e73ff9241de04b88ed81bd1a4c490'
    • Squashed '3rdparty/github/luaunpanic/' changes from 1cd4c96f..30e75b82
    • Squashed '3rdparty/github/luaunpanic/' changes from 309f072f..1cd4c96f
    • Merge commit '6b2f9bf2c63ca4410763dc20c13ff2ec3e348f3d'
    • Version 3.0.23
    • Squashed '3rdparty/github/luaunpanic/' changes from 3e23eb70..309f072f
    • Merge commit '762a036f54cc7bfb153cb19ab63404db00467842'
    • Merge commit '9a7fa73f732251e65871ec4e36d509af6812f60c' [ci skip]
    • Squashed '3rdparty/github/luaunpanic/' changes from 4c5c4569..3e23eb70
    • Merge commit '613a6c794675076e270b150eedaaab7a5438d363' [ci skip]
    • Squashed '3rdparty/github/cmake-utils/' changes from b716824d..799c0d35
    • Version 3.0.22
    • Replaced some ;; by ;
    • Version 3.0.21
    • Squashed '3rdparty/github/marpaWrapper/' changes from 21219a5d..fbb6e18b
    • Merge commit 'c365c87b039dee8d5601d7175ac7839b049928ab' [ci skip]
    • Version 3.0.20
    • .appveyor.yml
    • Merge commit '95ec2664d29ab6629ecf85cc4f5bb157ae2adb08'
    • Squashed '3rdparty/github/marpaWrapper/' changes from d3bc96e4..21219a5d
    • Squashed '3rdparty/github/tconv/' changes from ba977e86..346aaad2
    • Merge commit '363e73dc94f48d2228db2f2cad8605cf08b03b46'
    • Merge commit '4de89861b5124efddef65cac85783f9a3cdb325f'
    • Squashed '3rdparty/github/genericHash/' changes from 3fc52b30..ce57ae6d
    • Merge commit '360da4caa0c1f98d1ee168a723a31f1e569e019e'
    • Squashed '3rdparty/github/genericStack/' changes from 2992af68..4c1122c5
    • Squashed '3rdparty/github/genericLogger/' changes from 2ff5ace6..14a18f0a
    • Merge commit '95edb4eaa10bf138dcf52977de344f063e387486'
    • Squashed '3rdparty/github/cmake-utils/' changes from 02bdda29..b716824d
    • Merge commit '2f37069268b54496d3eb9f8fbc293c659ef7f298'
    • BNF/README.pod: Fix [ci skip]
    • BNF/README.pod: Fix typo [ci skip]
    • Version 3.0.19
    • Added a method to retreive last discarded data [ci skip]
    • Say which rule failed at creation if possible
    • Version 3.0.18
    • Fix crash when setting a zero-length lexeme via API [ci skip]
    • Version 3.0.17 [ci skip]
    • BNF/README.pod and test/selfTester.c updates
    • ::ast built-in action
    • t/thread.t: Still trying to fix pb with Test::More
    • Version 3.0.15 [ci skip]
    • perl/dist.ini: Fix potential use of undefined string in _trim_whitespace()
    • BNF/README.pod: POD fix [ci skip]
    • .travis.yml: Update JSON::MaybeXS
    • src/marpaESLIF.c: If discard is successful, recognizer should break if there is at last one grammar event in addition to the eventual discard event
    • src/marpaESLIF.c: event sort is always missing the last event
    • Version 3.0.14 [ci skip]
    • t/json.t: use parse() [ci skip]
    • t/import_export.t: Fix number of tests
    • Version 3.0.13 [ci skip]
    • t/thread.t: use a constant to hopefully bypass a Test::More apparent random(?) bug [ci skip]
    • src/marpaESLIFLua.c: Fix printf() debug statement [ci skip]
    • src/marpaESLIF.c: undef default string representation is empty, \"null\" is reserved to json mode
    • Tutorials update [ci skip]
    • doc/API/README.pod: update [ci skip]
    • test/jsonTesterLua.c fix and <if action> BNF
    • if-action full implementation [ci skip]
    • if action: external definition [ci skip]
    • symbol-action support in :lexeme and :terminal rules
    • src/marpaESLIF.c: Fix typo in a message [ci skip]
    • src/bootstrap.c: Fix error string associated to adverb list unpack context [ci skip]
    • Version 3.0.12
    • Process grammar :discard[] hooks in any case only in the top recognizer
    • Process grammar :discard[] hooks from _marpaESLIFRecognizer_push_grammar_eventsb() to _marpaESLIFRecognizer_push_eventb() to catch the case when they are associated to lexemes ot terminals (which are not using grammar events -;)
    • Fix log calls [ci skip]
    • Explicit terminal event [ci skip]
    • <restricted ascii graph name> simplification [ci skip]
    • :discard[switch] new keyword doc fix
    • :discard[switch] new keyword fixes
    • :discard[switch] new keyword
    • Version 3.0.11 [ci skip]
    • perl/ESLIF.xs: marpaESLIFPerl_is_bool optimization
    • MarpaX/ESLIF.pm: Tiny optimization
    • Revert "In valuation, instanciate lua state with lua_newthread instead of lua_newstate" [ci skip]
    • Avoid unnecessary events
    • Merge commit '5cab1870f56f83de6799872dbb088c15c45fd571' [ci skip]
    • Squashed '3rdparty/github/luaunpanic/' changes from 26e8b99d..4c5c4569
    • In valuation, instanciate lua state with lua_newthread instead of lua_newstate
    • Squashed '3rdparty/github/luaunpanic/' changes from 1d18796c..26e8b99d
    • Merge commit 'd9988f7ce2ecda775f60ce50bf604705a096cc66' [ci skip]
    • Add missing meta actions to the doc [ci skip]
    • eslif/L0.h: Simplifications [ci skip]
    • Version 3.0.10 [ci skip]
    • src/marpaESLIF.c: Fix memory management in case of error recovery
    • src/marpaESLIF.c: Move management of marpaESLIFRecognizerp->previousMaxMatchedl in _marpaESLIFRecognizer_lexeme_alternativeb instead of _marpaESLIFRecognizer_resume_oneb
    • src/marpaESLIF.c: Move management of marpaESLIFRecognizerp->lastSizel in _marpaESLIFRecognizer_lexeme_alternativeb instead of _marpaESLIFRecognizer_resume_oneb
    • src/marpaESLIF.c: Reset pristine flag in _marpaESLIFRecognizer_lexeme_alternativeb instead of _marpaESLIFRecognizer_resume_oneb
    • java: ESLIFSymbolEventBitSet
    • lua: symbol eventBitSet [ci skip]
    • perl: MarpaX::ESLIF::Symbol::EventBitSet
    • _marpaESLIF_flatten_pointers work [ci skip]
    • Squashed '3rdparty/github/marpaWrapper/' changes from ea926630..d3bc96e4
    • Merge commit '719c37e0825f54751771b4b939da8395f96e1ba7' [ci skip]
    • Squashed '3rdparty/github/genericHash/' changes from 2a5695ab..3fc52b30
    • Merge commit '5c3b13c95a5f170c1eaef52f5d5e67742eedcd48' [ci skip]
    • Merge commit '2d0928e6eea97a2e4be7ba06c104ae6ebe3ab67c' [ci skip]
    • Squashed '3rdparty/github/genericStack/' changes from 49e9eeae..2992af68
    • src/marpaESLIF.c: Avoid unnecessary memcpy's in _marpaESLIFRecognizer_value_validb
    • CMakeLists.txt: Fix setting of LUA_INT_TYPE and LUA_FLOAT_TYPE
    • Symbol event introspection
    • Squashed '3rdparty/github/marpaWrapper/' changes from d88c2d62..ea926630
    • Merge commit '68b94bad9878bfaf9788eeab2161a7ea585b2953' [ci skip]
    • CMakeLists.txt: makes sure core and client luaunpanic have the same number types [ci skip]
    • CMakeLists.txt: makes sure core and client luaunpanic have the same float type [ci skip]

Modules

ESLIF is Extended ScanLess InterFace
ESLIF Event Types
MarpaX::ESLIF's grammar
ESLIF Grammar Properties
ESLIF Grammar Rule Properties
ESLIF Grammar Symbol Properties
ESLIF's JSON interface
ESLIF's JSON decoder interface
MarpaX::ESLIF::JSON Recognizer Interface
ESLIF's JSON encoder interface
ESLIF Logger levels
ESLIF Rule Property Bit Set
ESLIF String is any string value with encoding attribute
ESLIF Symbol Event Bit Set
ESLIF Symbol Property Bit Set
ESLIF Symbol Type
ESLIF Value Types