Changes for version 6.0.29 - 2023-01-14

  • Jean-Damien Durand <jeandamiendurand@free.fr>
    • Version 6.0.29
    • Squashed '3rdparty/github/luaunpanic/' changes from 3e057c0ff..64c475ded
    • Merge commit 'feb36cc3535137b1bd296f841e6725d4cea6b347'
    • Squashed '3rdparty/github/marpaWrapper/' changes from 96d81b6b0..f027b6cc0
    • Merge commit '292a47ee2682a97cf01da92759081d4bb4a4ac20'
    • Merge commit 'aef16a5ac3a8774857f53911d1a7fe004b31b991'
    • Squashed '3rdparty/github/tconv/' changes from 4d8ca219d..3a9834e09
    • Merge commit '4647747c1bbff9ba2407284cc2ffabcea401bd8e'
    • Squashed '3rdparty/github/genericHash/' changes from e537e8f99..e0c86b3a1
    • Squashed '3rdparty/github/genericStack/' changes from e5a995ef2..2315f48bc
    • Merge commit '5b1a4187957decd7e4db69b5a242f69663b7bf17'
    • Merge commit 'e6caff4e5ac326aa74681f04a2b9f24a51bd80e2'
    • Squashed '3rdparty/github/genericLogger/' changes from 29c3e136b..3db895229
    • Squashed '3rdparty/github/cmake-utils/' changes from e048c41e5..5c4325b0b
    • Merge commit 'affbcecd077c0aed74343e29586e8445e45aed3c'
    • perl: use ExtUtils::CppGuess 0.26 if possible
    • JSON/Decoder.pm: Fix POD
    • Version 6.0.28
    • perl/dist.ini: Get rid of IPC::Run
    • perl: Get rid of IPC::Run
    • Merge commit '8d4ee0eeb336badcb2e545bcc4e1448882e0ecd9'
    • Squashed '3rdparty/github/luaunpanic/' changes from 5e02a7cef..3e057c0ff
    • Merge commit 'b22bf0f7e60b485a801de238d23df2ad841ba95e'
    • Squashed '3rdparty/github/marpaWrapper/' changes from 14a641bd9..96d81b6b0
    • Merge commit '0f45cf1fd31d8e239d8d8391f8ad862e43f92908'
    • Squashed '3rdparty/github/tconv/' changes from 9429bb497..4d8ca219d
    • Merge commit 'b77bfb76d67f57909e42af549fa2897193fa739e'
    • Squashed '3rdparty/github/genericHash/' changes from 605101cd4..e537e8f99
    • Squashed '3rdparty/github/genericLogger/' changes from 214a837be..29c3e136b
    • Merge commit '152f47d8b313ea06b91377f35b7738ddf6b3ac5b'
    • CMakeLists.txt: Fix
    • pcre2-10.40/CMakeLists.txt: Fix
    • perl/CMakeLists.txt: fix
    • lua/CMakeLists.txt: fix
    • java/CMakeLists.txt: fix
    • pcre2-10.40/CMakeLists.txt: Use CMAKE_CURRENT_SOURCE_DIR instead of PROJECT_SOURCE_DIR
    • Squashed '3rdparty/github/luaunpanic/' changes from 84851592f..5e02a7cef
    • Merge commit '6c450baf99e5132715ee94e7d977ae21500bcaca'
    • Squashed '3rdparty/github/marpaWrapper/' changes from 98f777da4..14a641bd9
    • Merge commit '6566a90a0ff7a896e0aebd68b2a312a0bca94629'
    • Merge commit '79e3a0a69b04483bffe23bdb44005aa45a0142e1'
    • Squashed '3rdparty/github/tconv/' changes from ad41367cc..9429bb497
    • Merge commit '8d35c619ed3a378397417a00ba8d3f0debda67bb'
    • Squashed '3rdparty/github/genericHash/' changes from 33a2b98e4..605101cd4
    • Squashed '3rdparty/github/genericStack/' changes from 0a445b105..e5a995ef2
    • Merge commit 'c13a0b3cf31f42eb5ffe388434bcf815531cb39b'
    • Merge commit 'e560477becef911485aea0458c8a71c6d55bf7c6'
    • Squashed '3rdparty/github/genericLogger/' changes from 548770229..214a837be
    • Merge commit '0540d8820470aa1784d49ea06ab03d83c31bf1d0'
    • Squashed '3rdparty/github/cmake-utils/' changes from 18d43f2d3..e048c41e5
    • BNF/README.pod: Change C<...>..> to C<< ...>.. >>
    • Java: fix calls to Integer and Double constructors, marked for removal
    • Move PCRE2_STATIC from an explicit setting in marpaESLIF to a definition attached to the pcre2 static library itself
    • pcre2-10.40/CMakeLists.txt: Fix pcre2_chartables.c dependency
    • MarpaX::ESLIF::JSON::Decoder::_decode fix, closes #15
    • src/marpaESLIF.c: Fix memory leak when disposing an external regex symbol with substitution
    • test/selfTester.c: Fix memory leak
    • BNF/README.pod: Fix <terminal> grammar
    • perl/ESLIF.xs: Add GV_ADDMULTI to get_sv to prevent the "used only once" warning
    • Version 6.0.27
    • perl/ESLIF.xs: Remove some data from framestack (Closes #14)
    • Squashed '3rdparty/github/marpaWrapper/' changes from d4a4edac0..98f777da4
    • Merge commit 'd492adff195fbb30306c7f9931bc420fa0a94e85'
    • Squashed '3rdparty/github/genericHash/' changes from a0a776eda..33a2b98e4
    • Merge commit 'd9fc547812346f1a6ddc68f07b5a2802ff6abc23'
    • Merge commit 'b4398ca118d9871a438f29b023adb0a4db421709'
    • Squashed '3rdparty/github/genericStack/' changes from 6d0197da6..0a445b105
    • Version 6.0.26
    • dev+ [ci skip]
    • dev+
    • README.pod: Github workflow status badges [ci skip]
    • test/marpaESLIFTester.c: Fix test
    • .github/workflows/unix.yml: Fix name
    • .github/workflows: windows and unix
    • java/marpaESLIFJava.c: Try to silent warnings detected by by clang
    • test/marpaESLIFTester.c: Fix wrong tests
    • src/marpaESLIF.c: Fix some clang warnings
    • java/CMakeLists.txt: Use CMAKE_C_COMPILER_ID
    • workflows/*.yml: dev+
    • workflows/macos.yml: dev+
    • workflows/macos.yml: Install perl pre-requesites
    • java/CMakeLists.txt: Enable test with clang compier family (support or dynamic rpath)
    • Revert "java/CMakeLists.txt: Always enable check rule"
    • java/CMakeLists.txt: Always enable check rule
    • github workflows: dev+
    • workflows/windows.yml: dev+
    • github workflows: Separate windows and the others
    • workflows/cmake.yml: OS speficics
    • workflows/cmake.yml: Fix line testing matrix.os
    • workflows/cmake.yml: Forces bash everywhere and restrict perl stuff to ubuntu
    • workflows/cmake.yml: OS matrix
    • workflows/cmake.yml: Simpler line for hs_err files [ci skip]
    • workflows/cmake.yml: Set gdb pagination before stack traces
    • workflows/cmake.yml: Check for hs_err and core files
    • src/marpaESLIFLua.c: In marpaESLIFLua_pairsb(), removed unnecessary calls to marpaESLIFLua_lua_assertstack()
    • ESLIF/Symbol.pm: Fix POD errors [ci skip]
    • ESLIF/Base.pm: Replaced a tab by spaces [ci skip]
    • perl/dist.ini: Disable Test::NoTabs [ci skip]
    • perl: xtest t+ [ci skip]
    • perl/dist.ini: Exclude .perlcriticrc from exclusions [ci skip]
    • perl: xt/author/eol.t t+ [ci skip]
    • perl/.perlcriticrc: Allow no strict 'refs'
    • perl/CMakeLists.txt: Add --verbose flag [ci skip]
    • perl/dist.ini: Prune .pod from 3rdparty [ci skip]
    • etc/copyDirs.PL: Do not copy "doc" items [ci skip]
    • Version 6.0.25
    • Merge commit '60454ab424a24101108f012051e84be14d468023'
    • Squashed '3rdparty/github/marpaWrapper/' changes from 7af677c13..d4a4edac0
    • etc/copyDirs.PL: Omit Marpa--R2 directory, not needed anymore. We now use libmarpa
    • Merge commit 'a786ae0afddd86fb5e6303fc4f0c6abfe24220da'
    • Squashed '3rdparty/github/luaunpanic/' changes from 78f5dd04c..84851592f
    • Squashed '3rdparty/github/marpaWrapper/' changes from d0f79ebbf..7af677c13
    • Merge commit 'ec8dcc694c151da8850152502486c4f071690fe7'
    • Squashed '3rdparty/github/tconv/' changes from fd9aeb82a..ad41367cc
    • Merge commit 'ca460bf146e023f593e58f5ebf2b92027eaeb06c'
    • Merge commit '33120226cf47e7a59c1d922066cf1c055510bacc'
    • Squashed '3rdparty/github/genericHash/' changes from ef66a0cc6..a0a776eda
    • Squashed '3rdparty/github/genericStack/' changes from 35e49cdc6..6d0197da6
    • Merge commit 'b013af8847b299b1ca5a1d3f2a137da726fbecad'
    • Squashed '3rdparty/github/genericLogger/' changes from 3312f127f..548770229
    • Merge commit '4758c71b45d10d3d33f2ffb3a52c2ce8f621c8e5'
    • CMakeObjects.PL: Fix test for __builtin_expect(), explicitly include clang instead of relying only on __GNUC__ macro for the flatten function attribute check
    • Squashed '3rdparty/github/cmake-utils/' changes from 83bf5969c..18d43f2d3
    • Merge commit '7bc523f57df0add70106e8f5e8a85c2f5bd7b89a'
    • CMakeObjects.PL: Check function attributes only if the compiler support -Werror flag
    • Squashed '3rdparty/github/cmake-utils/' changes from 7780542dd..83bf5969c
    • Merge commit '40f5caf8da66bcfef5bbccde219aa18c9ec22e80'
    • Squashed '3rdparty/github/tconv/' changes from a1ca339f1..fd9aeb82a
    • Merge commit '731e1e664af0c0aa542632764db0093ba6f8e9b0'
    • Merge commit '9434b66d59d3e52d5d80f4d3fe7a72e756481c64'
    • Squashed '3rdparty/github/tconv/' changes from c281c61c1..a1ca339f1
    • Squashed '3rdparty/github/cmake-utils/' changes from 52177d7b2..7780542dd
    • Merge commit 'a7940eef54a0657abce8733e9886ec60a217e6f5'
    • Minimize function calls on the hotests functions
    • perl/dist.ini: Fix missing reset of $tmpflag when checking -Werror
    • CMakeObjects.PL: Restrict check of __attribute__((flatten)) on GCC compliant compilers
    • Squashed '3rdparty/github/cmake-utils/' changes from 15c01187b..52177d7b2
    • Merge commit '9aeb20835ced26b61c1054c8054b29aef931f2ef'
    • etc/copyDirs.PL: Reduce dist size
    • Squashed '3rdparty/github/tconv/' changes from 6bc4e98a4..c281c61c1
    • Merge commit 'e281237a6056d4df225c97debb25799388c714b0'
    • src/marpaESLIF.c: In _marpaESLIFGrammar_haveLexemeb(), use only accessible symbols [ci skip]
    • BNF/README.pod: Fix typos about discard [ci skip]
    • Version 6.0.24
    • Fix build after moving from pcre2-10.33 to pcre2-10.40
    • Version 6.0.23
    • src/marpaESLIF.c: Fix memory leak and _marpaESLIFSymbol_terminal_newp()
      • ci skip
    • README.pod: cmake recommended arguments when using valgrind [ci skip]
    • Substitution: doc+ [ci skip]
    • src/{bootstrap,marpaESLIF}.c: Centralized method _marpaESLIF_terminal_add_substitution_desc_to_terminal_descp() [ci skip]
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_resume_oneb(), use MARPAESLIF_IS_TERMINAL() macro instead of explicit comparison [ci skip]
    • pcre2-10.40/CMakeLists.txt: Removed ADD_DEFINITIONS of CRT that are already added by cmake-utils [ci skip]
    • src/pcre2_script_run.c: VS2012 and below compliance
    • src/pcre2_compile.c: VS2012 and below compliance (2)
    • src/pcre2_compile.c: VS2012 and below compliance
    • test/adventTester.c: t+ [ci skip]
    • java: t+ [ci skip]
    • t/symbol.t: Fix test [ci skip]
    • perl t+ [ci skip]
    • src/marpaESLIF.c: In _marpaESLIF_terminal_newp() do minimal processing when substitutionb is set [ci skip]
    • test/selfTester.c: substitution test t+
    • src/marpaESLIF.c: _marpaESLIFSymbol_terminal_newp fix [ci skip]
    • t+ [ci skip]
    • Squashed '3rdparty/github/cmake-utils/' changes from fe1ec0eea..15c01187b
    • Merge commit 'cdf56ad2967a09b03a1cdfa77c2633a2e341a22a' into regex_substitution
    • src/marpaESLIF.c: Re-use existing match data if possible when doing substitution
    • src/marpaESLIF.c: Do substitution only on the portion that matched [ci skip]
    • pcre2-10.40/CMakeLists.txt: Add missing INCLUDE(CheckCSourceCompiles)
    • Fix rhsPrimaryp->u.name initialization
    • Squashed '3rdparty/github/cmake-utils/' changes from 1138c45d..fe1ec0ee
    • Merge commit 'd0cafc85489373c920b4231f78076c45b09e489c'
    • Merge commit '8807b7028264e4ac46a1c10e64fcedd69f416d94'
    • Squashed '3rdparty/github/cmake-utils/' changes from 1dc43034..1138c45d
    • Merge commit '9948c7ef0ff1a08b2d3b3bc9c2cbe60916f6c1f9'
    • Squashed '3rdparty/github/cmake-utils/' changes from d346a5f6..1dc43034
    • Use PCRE2 10.40
    • Add pcre2-10.40 patched untar
    • Add pcre2-10.40 tarball
    • Revert "dev+ [ci skip]"
    • src/marpaESLIF.c: Removed two set but unused variables [clang detection]
    • internal/structures.h: Fix #ifndef guard [ci skip]
    • perl/ESLIF.xs: Cache localized MarpaX::ESLIF::Context::* SV's
    • src/marpaESLIF.c: Avoid an internal memcpy when computing alternatives
      • ci skip
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_terminal_matcherb(), initialize variables to pleae VS [ci skip]
    • Version 6.0.22
    • src/marpaESLIF.c: Fixed some warnings found by cl [ci skip]
    • internal/iqsort.h: Align to original version that suggests register for _run_ptr variable
    • src/marpaESLIF.c: Macro to switch between classic and inlined qsort
    • src/marpaESLIF.c: inline qsort
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_pointers_cleanupb(), get out immediately if there is nothing to do [ci skip]
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_discard_tryb(), discard looks like a lexeme
    • Move isExpectedArraybp from grammarp to marpaESLIFRecognizerp [ci skip]
    • Squashed '3rdparty/github/marpaWrapper/' changes from a7a6c7ea..d0f79ebb
    • Merge commit '4cb7f7e0ae01fd905a01e950319e1c4a8aba5f29'
    • include/marpaESLIF.h: C++ compatible [ci skip]
    • src/marpaESLIF.c: Removed a non-needed call to GENERICSTACK_ERROR in production mode [ci skip]
    • src/marpaESLIF.c: Added missing parenthesis and remove one unneeded instruction [ci skip]
    • Squashed '3rdparty/github/cmake-utils/' changes from 3a9719e5..d346a5f6
    • Merge commit 'bdc167e3f618c6b53138b1f2a8a53f81f32b2978'
    • src/marpaESLIF.c: Changed a MARPAESLIF_UNLIKELY() to MARPAESLIF_LIKELY()
      • ci skip
    • Version 6.0.21 [ci skip]
    • Implement ASCII and UTF-8 success predicion when possible [ci skip]
    • Support of utf character class failure prediction (first 256 codepoints)
      • ci skip
    • Version 6.0.20
    • t+: swiftTester memory free fix [ci skip]
    • t+ selfTester restore [ci skip]
    • t+ adventTester restore [ci skip]
    • src/json.c: Comment fixes [ci skip]
    • src/marpaESLIF.c: It is illegal to read on a stream that is already at eof [ci skip]
    • src/marpaESLIF.c: memory leak issue [ci skip]
    • src/marpaESLIF.c: Moved pragma GCC diagnostic outside of function body and protect it for __GNUC__ >= 5 [ci skip]
    • Version 6.0.19
    • test/swiftTester.c: run all tests [ci skip]
    • src/marpaESLIF.c: explicit method _marpaESLIFRecognizer_getNextLineAndColumnb() [ci skip]
    • t/swiftTester t+ [ci skip]
    • Better support of lexemes: they may not always reach full completion at the end of parsing [ci skip]
    • Version 6.0.18
    • src/marpaESLIF.c: Fix broken :discard [ci skip]
    • Version 6.0.17
    • YAML t+ [ci skip]
    • src/marpaESLIF.c: :sol cannot be if :eof is set [ci skip]
    • src/marpaESLIF.c: Add missing trace macros in marpaESLIFRecognizer_symbol_tryb() [ci skip]
    • src/marpaESLIF.c: New macro MARPAESLIFRECOGNIZER_IS_INTERACTIVE(marpaESLIFRecognizerp) [ci skip]
    • Recognizer proxy logger [ci skip]
    • Fix warnings and genericLoggerp propagation [ci skip]
    • Fix warnings [ci skip]
    • dev+ lexemeModeb, parentLinel and parentColumnl [ci skip]
    • test/yamlGrammar.c: more debug prints [ci skip]
    • Fix sharev v.s. linel/columnl [ci skip]
    • src/marpaESLIFLua.c: Compliance with old compilers [ci skip]
    • bindings/README.pod: Cosmetic fix
    • src/marpaESLIF.c: In _marpaESLIF_eslif2hostb(), silent -Wswitch when we abuse the marpaESLIFValueResultWorkp-->type enum [ci skip]
    • Fix last discard loop, added missing propagation of defaultSymbolActionp and symbolActionp in bootstrap grammar clone [ci skip]
    • t/test.t: Fix test [ci skip]
    • src/marpaESLIF.c: :eol and :sol v.s. charconvb fixes, memory leak fixed in name and discard try [ci skip]
    • test/marpaESLIFTester.c: Better handle events before first read [ci skip]
    • src/marpaESLIF.c: Fix when this is a lookahead, matchedLengthl is always 0 [ci skip]
    • test/jsonTester.c: Prevent traces at the very beginning [ci skip]
    • src/marpaESLIF.c: In _marpaESLIFGrammar_bootstrap_transferb(), fix propagation of luascript. Add missing calls to MARPAESLIF_UNLIKELY() [ci skip]
    • src/bootstrap.c: Fix _marpaESLIF_bootstrap_G1_action_luascript_statementb() [ci skip]
    • src/marpaESLIF.c: Fix last discard loop [ci skip]
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_errorv(), restore initial log indices [ci skip]
    • src/bootstrap.c: Renamed _marpaESLIF_bootstrap_find_terminal_by_nameb() to _marpaESLIF_bootstrap_find_terminal_by_namep() [ci skip]
    • In _marpaESLIF_grammar_bootstrap_clonep, fix missing eventual name overwrite of a symbol [ci skip]
    • Removed some gcc warnings [ci skip]
    • Fix fault at free() in bootstrap [ci skip]
    • :empty pseudo terminal [ci skip]
    • Debug [ci skip]
    • Internal renamings [ci skip]
    • grammarp->startp new member [ci skip]
    • src/marpaESLIF.c: bootstrap clone [ci skip]
    • src/marpaESLIF.c: Fix a memory leak, bootstrap grammar clonep preparation [ci skip]
    • yaml t+ [ci skip]
    • src/marpaESLIF.c: Work on action generator [ci skip]
    • Fix regression on <bracketed name string> [ci skip]
    • src/marpaESLIF.c: Work on generated action [ci skip]
    • Work on generated rhs that are not "standalone" [ci skip]
    • generator callback work [ci skip]
    • src/marpaESLIF.c: Fixed potential use of uninitilalized variable [ci skip]
    • Version 6.0.16
    • test/jsonTesterStrictExternal.h: Cosmetic lua action changes [ci skip]
    • test/jsonTesterStrictExternal.h: Playing with priority [ci skip]
    • lookahead optimization when it consist of a single terminal [ci skip]
    • src/marpaELIF.c: dev+ [ci skip]
    • Use predicted failures in _marpaESLIFRecognizer_resume_oneb-) [ci skip]
    • In _marpaESLIFRecognizer_resume_oneb(): Use a symbolpp array, slightly faster that reindexing symbolArraypp[iteratorl] [ci skip]
    • src/marpaESLIF.c: Removed a call to abort() left previously for debugging [ci skip]
    • Use only accessible grammar terminals when scanning [ci skip]
    • Internal renamings in grammar and meta structures [ci skip]
    • Removed unused terminalIdArrayp [ci skip]
    • src/marpaESLIF.c: Use _marpaESLIFRecognizer_expectedTerminals_yieldb()
      • ci skip
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_resume_oneb() move the test on number of symbols inside the test on matchedd symbols [ci skip]
    • dev+ and bypass GENERICSTACK_RESET that is forgetting to call GENERICSTACK_INIT [ci skip]
    • src/marpaESLIFLua.c: marpaESLIFLua_lua_seti() and marpaESLIFLua_metatypeb() fixes [ci skip]
    • src/marpaESLIFLua.c: Added missing marpaESLIFLua_lua_assertstack() in marpaESLIFLua_luaL_getmetafield() [ci skip]
    • lua: pre-reference most accessed globals [ci skip]
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_symbol_matcherb() take terminalp early instead of symbolp->u.terminalp [ci skip]
    • src/marpaESLIF.c: Fix *funcs in _marpaESLIFRecognizer_expectedTerminals_notpristine_oneb() [ci skip]
    • perl/dist.ini: Add -DNDEBUG
    • src/marpaESLIF.c: work on limiting number of instructions/calls [ci skip]
    • Work on symbol priority [ci skip]
    • src/marpaESLIF.c: Add symbol priority in internal trace [ci skip]
    • Removed historical and not-used passthrough code ctd
    • Removed historical and not-used passthrough code
    • src/marpaESLIF.c: Removed unnecessary instructions
    • src/marpaESLIF.c: In _marpaESLIF_symbol_action___transferb() avoid calls to malloc
    • src/marpESLIF.c: Removed unnecessary instructions in _marpaESLIFRecognizer_symbol_matcherb() [ci skip]
    • Apply same optimization on rule internal find [ci skip]
    • src/marpaESLIF.c: Fix comment [ci skip]
    • src/marpaESLIFLua.c: Fix marpaESLIFLua_push_objectb() prototype [ci skip]
    • Version 6.0.15
    • src/marpaESLIF.c: Fix the hideseparator hook in _marpaESLIF_rule_action___rowb and _marpaESLIF_rule_action___tableb
    • ESLIF/RegexCallout.pm: Use $_[0] for faster access to this "internal" class
    • src/marpaESLIFLua.c: Fix calls to marpaESLIFLua_luaL_errorf
    • External symbol uses its dedidated importer
    • Lookup predicted failures for non-UTF anchored regexes
    • src/marpaESLIF.c: Remove few unneeded instructions
    • Version 6.0.14
    • Try to limit instructions in _marpaESLIFRecognizer_terminal_matcherb
    • Avoid unneeded internal memcpys
    • test fixes [ci skip]
    • Tiny revisit of _marpaESLIFRecognizer_terminal_matcherb [ci skip]
    • src/marpaESLIF.c: Removed a non-needed call to pcre2_set_callout [ci skip]
    • Merge commit 'e8f20d6f4d5bb82b3bf1fd3060bd441bff2bafbe'
    • Squashed '3rdparty/github/tconv/' changes from bf51db9d..6bc4e98a
    • src/marpaESLIF.c: Work on limiting the number of instructions in _marpaESLIFRecognizer_resume_oneb() [ci skip]
    • src/marpESLIF.c: try to limit calls to memcmp [ci skip]
    • README.pod: Fix typo "PCRE2_UTF82" => "PCRE2_UTF" [ci skip]
    • README.pod: Fix type "In such ca case" => "In such a case" [ci skip]
    • src/marpaESLIFLua.c: lua_createtable calls fixes (confusion between narr and nrec) [ci skip]
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_expectedTerminalsb avoid a jump by reverting if to the most probable case
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_symbol_matcherb() add a MARPAESLIF_LIKELY()
    • src/marpaESLIF.c: Limit the number of calls to malloc()/free() via genericStacj in the marpaESLIFValue structure
    • src/marpaESLIF.c: Fix potential uninitialized values
    • Revert "src/marpESLIF.c: Avoid unnecessary instructions in _marpaESLIFRecognizer_terminal_matcherb() [ci skip]"
    • src/marpaESLIFLua.c: inline promotion when possible
    • Minimize luaunpanic internal setjmp overhead by selecting which calls are candidate for luaunpanic
    • src/marpESLIF.c: Avoid unnecessary instructions in _marpaESLIFRecognizer_terminal_matcherb() [ci skip]
    • src/bootstrap.c: Tiny optimization [ci skip]
    • Version 6.0.13
    • Revert "src/marpaESLIF.c: Prefer single call to marpaWrapperRecognizer_expectedb() instead of a loop on marpaWrapperRecognizer_isExpectedb()"
    • src/marpaESLIF.c: Prefer single call to marpaWrapperRecognizer_expectedb() instead of a loop on marpaWrapperRecognizer_isExpectedb()
    • Version 6.0.12
    • add haveUndefb in the importers
    • Revert "src/marpaESLIFLua.c: no need of lua_seti in out internal data - use lua_rawseti instead [ci skip]"
    • src/marpaESLIFLua.c: no need of lua_seti in out internal data - use lua_rawseti instead [ci skip]
    • Optimizations dev+ [ci skip]
    • Add test/allluacallbacks.c
    • Back temporarly to lua new states, use lua_call instead of lua_pcall, restored lua stack check [ci skip]
    • src/lua.c: _marpaESLIF_lua_recognizerlua_newp renamed to _marpaESLIF_lua_recognizer_newp [ci skip]
    • src/lua.c: use lua_call instead of lua_pcall (ok because the underlying lua is our luaunpanic ;)) [ci skip]
    • src/lua.c: error reporting revisited [ci skip]
    • Internal lua renamings [ci skip]
    • src/lua.c: Moved a call to lua_settop at its correct place [ci skip]
    • src/lua.c: Prefer the macros in this source file [ci skip]
    • Back to one lua main state per grammar, removed unnecessary calls to luaL_checkstack [ci skip]
    • Version 6.0.11
    • src/marpaESLIFLua.c: Tentative code marked with MARPAESLIFLUA_IMPORT_DETECT_NIL
    • src/marpaESLIFLua.c: Removed unused marpaESLIFLuaRecognizerContextp->calloutTable_r
    • Revert "src/marpaESLIF.c: No fetch of grammar events and the recognizer has noeventb set"
    • Revert "src/marpaESLIF.c: No fetch of grammar events and the recognizer has noeventb set - reformatting"
    • src/marpaESLIF.c: No fetch of grammar events and the recognizer has noeventb set - reformatting
    • src/marpaESLIF.c: No fetch of grammar events and the recognizer has noeventb set
    • src/lua.c: Revisit macros [ci skip]
    • Version 6.0.10
    • perl/ESLIF.xs: Issue with stash that should not be freed
    • Version 6.0.9
    • perl/ESLIF.xs: newSv(0) instead of &PL_sv_undef when storing in AV or HV
    • perl/ESLIF.xs: Removed some unused variables
    • perl/ESLIF.xs: Fix previous commit -;
    • CMakeObjects.PL: try_link for __builtin_expect bix
    • CMakeObjects.PL: try_link for __builtin_expect
    • Squashed '3rdparty/github/marpaWrapper/' changes from d133cc6b..a7a6c7ea
    • Merge commit '0f2bd8ea0714557a4fa6362b2bc58705701b2e28'
    • Squashed '3rdparty/github/tconv/' changes from 02ca365f..bf51db9d
    • Merge commit 'f55b80ffac28d35ecd9a776a72b01d30a4c90b94'
    • Squashed '3rdparty/github/genericHash/' changes from 6f36155c..ef66a0cc
    • Merge commit '6acd67c60d45aca8f36bc9f3bff22e287d6d03e6'
    • Squashed '3rdparty/github/genericLogger/' changes from 633accf8..3312f127
    • Merge commit '3e098edc43c5323d2e5c4c1ae4e9b371b991390b'
    • gh actions t+
    • gh actions, _marpaESLIF_inlined_ptrhashi for 64bits warning fix
    • gh action t+
    • README.pod: Remove travis-ci
    • src/marpaESLIFLua.c: Fix compilation for old cls
    • Fix some unreferenced local variables
    • .appveyor.yml: Visual Studio 2022 dev+
    • .appveyor.yml: Add Visual Studio 2022 bis
    • .appveyor.yml: Update doc and add Visual Studio 2022
    • src/marpaESLIF.c: Fixed a ;; that causes old cl to fail
    • API/README.pod: POD fixes
    • include/marpaESLIF.h: Fix duplicate typedef definition
    • perl/dist.ini: Try to enable -Werror for version of gcc that do not yell on -qstrict
    • Version 6.0.8
    • Fix traces
    • src/marpaESLIFLua.c: Fix warning detected by cl
    • Version 6.0.7
    • src/json.c: Tiny optimization on order in a || test
    • marpaESLIFRecognizer_symbol_tryb is using recognizers importer, marpaESLIFSymbol_tryb is using symbols importer
    • Version 6.0.6
    • perl/ESLIF.xs: Optimize calls to setRecognizer
    • src/marpaESLIFLua.c: Optimizer calls to setRecognizer
    • test/marpaESLIFLuaTest.lua: Log calls to setRecognizer and getRecognizer
    • perl/ESLIF.xs: Use marpaESLIFPerl_arraycopyp() also for string containers
    • t/test.t: Fix lua_regexAction
    • test/jsonTesterLua.c: Back to normal ::concat for *chars ::= filled
    • test/marpaESLIFLuaTest.lua: Fix a log
    • perl/ESLIF.xs: Avoid copying data in recognizer callbacks
    • lua: arraycopy t+
    • test/selfTester.c: event-action fix, marpaESLIFRecognizer:input() now returns an xstring
    • test/jsonTesterLua.c: Revert the changes after the fix done by previous commit
    • src/marpaESLIFLua.c: fix logic with arraycopy
    • Lua: xstring fixes
    • src/marpaESLIF.c: _marpaESLIF_cleanup_sorti fix
    • Lua: Cache a dummy regex callback object to make sure that strings used as keys are never garbage collected
    • src/marpaESLIFLua.c: Internal renamings
    • API/README.pod: Documentation of regex callout, on strings and arrays lifetime
    • When cleanup pointers, use a sorted stack instead of a hash
    • bootstrap optimization
    • Internal management of hiden separator instead of relying on the automatic stack switches
    • BNF/README.pod: Document that hide-separator and (-...-) have a cost
    • src/marpaESLIF.c: Use stack switch instead of internal copy when processing hiden (- ... -) stack indices
    • test/jsonTester.c: Dump external JSON grammar
    • src/marpaESLIF.c: Use GENERICSTACK_SWITCH when hiding separator stack indices
    • test/jsonTester.c: Factorize parsing function to ease profiling
    • JSON tests using an external grammar
    • src/marpaESLIF.c: Work on stack debug
    • src/bootstrap.c: Fix compilation issue when #undef MARPAESLIF_NTRACE
    • perl/ESLIF.xs: av_extend and hv_ksplit
    • perl/ESLIF.xs: Use av_extend before filling the AV bis - missing parenthesis after the SSize_t cast
    • perl/ESLIF.xs: Use av_extend before filling the AV
    • Set discard-is-fallback for internal grammars (ESLIF, JSON strict, JSON extended)
    • discard-is-fallback doc and test
    • discard-is-fallback grammar adverb
    • Version 6.0.5
    • No need to reinject marpaESLIFRecognizerp when we previously injected the same in Lua
    • Removed marpaESLIFLuaSymbolContextp that appears to not be needed
    • src/marpaESLIF.c: Add missing symbolp->marpaESLIFLuaSymbolContextp initialization
    • Symbol import should always use its userDatavp/importer setting, even when used in a recognizer context
    • Version 6.0.4-TRIAL
    • perl/ESLIF.xs: Missing av_push in marpaESLIFPerl_recognizerRegexCallbackb
    • Version 6.0.3-TRIAL
    • Added missing interface to marpaESLIFRecognizer_discardb()
    • src/marpaESLIf.c: search symbol in silent mode if there is an explicit trace after the call in cas of failure
    • Version 6.0.2-TRIAL
    • test/selfTester.c: Fix tests
    • lua: case of embedded functions in the embedded grammars: then marpaESLIFRecognizer is available through a global. Finally, test the existence of setRecognizer everytime
    • lua: Injection of recognizer in recognizer interface dev+
    • java: Optimize the calls to setEslifRecognizer in the recognizer interface, make sure that all actions that run in the recognizer interface (event-action, if-action, regex-action, generator-action) have an update if needed of the shallow recognizer instance
    • java: Restored all tests
    • java: injection of shallow recognizer instance in the recognizer interface for the callbacks
    • java: Add missing generatorAction in ESLIFGrammarSymbolProperties
    • perl: Add generatorAction in symbol properties, change verbose from 1/0 to yes/no
    • Back to a global regex-action in :default t+
    • Back to a global regex-action in :default
    • Work on structure, introducing effective actions
    • API/README.pod: Say that for external symbols, the stringp in argument is the thing inside the delimiters
    • internal/json.h: Added missing file
    • marpa/AppThread.java: Reduce range of a test on input()
    • java: fix explicit call to logger in jniInput(), prepare for shallow recognizer instance
    • Java & recognizer in the interface dev+
    • Java renamings and ESLIFRecognizerInterface new methods for callbacks dev+
    • Support of explicit regex-action in :symbol rule
    • test/selfTester.c: fix test on discard event
    • test/selfTester.c: t+
    • cache regexAction in terminalp for performance
    • perl: Access to recognizer instance in the recognizer callbacks that are in the interface namespace...
    • src/marpaESLIF.c: Prevent regex callbacks if not in the top-recognizer
    • internal/structures.h: Say explicitely that the marpaESLIFRecognizerTopp is only for lua (because the lua VM is created and owned only the top-level recognizer. We want to remember it for performance reasons)
    • src/marpaESLIF.c: Prevent recognizer callbacks anytime it is not the top-level recognizer, including discard (that is sometimes executed under the top recognizer in case of "fast" discard...) - Implemented helper macros MARPAESLIFRECOGNIZER_IS_TOP() and MARPAESLIFRECOGNIZER_IS_CHILD()
    • test/*.c: Fix missing initializations and added a callback (that would SEGV if executed) in adventTester.c
    • perl: backward compatiliby with version 5
    • perl/ESLIF.xs: marpaESLIFPerl_importb() optimization
    • Revert "utf82ord optimization"
    • utf82ord optimization
    • Optimization of pcre2 contexts
    • Add grammar_level and symbol_id in regex callouts
    • test/selfTester.c: Fix test (name adverb in not allowed on meta symbols)
    • src/bootstrap.c: Improve logging in __marpaESLIF_bootstrap_G1_action_symbol_ruleb
    • In all binding language, add offset parameter and optionel length parameter on the interface to marpaESLIFRecognizer_input(), because we cannot affort to always copy the full itnernal buffer to host engine every time
    • src/json.c: Emit error if the loop on recognizer did not bring us to the err label
    • src/marpaESLIF.c: If grammar exhaustion is an error, log the recognizer state
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_alternative_and_valueb, change a little the error message
    • src/marpaESLIF.c: When an alternative fails, log the full recognizer state in error
    • src/marpaESLIF.c: _marpaESLIF_numberb can modify input in place. When that happens keep a copy of original and restore it at method return
    • perl/ESLIF.xs: Clean some unused variables
    • Restrict name adverb to terminals, make sure it is unique, support $name notation in rhs primary
    • BNF/README.pod: Fix missing <symbol rule>
    • BNF/README.pod: Add missing <symbol rule>
    • JSON external symbols dev+
    • Make _marpaESLIFRecognizer_discardb available to internal API with the external prototype
    • Tutorial/Calculator.pod: Update
    • Global deprecation of :lexeme and :terminal in favour of :symbol
    • BNF/README.pod: Update section on naming
    • Version 6.0.1 (trial)
    • Version 6.0.0 (trial)
    • t/json.t: Some more tests from JSON Parsing Test Suite (c)
    • src/json.c: Fix MARPAESLIFJSON_DQUOTE constant
    • src/json.c: Fix \\r and \\n inversion
    • Changed marpaESLIF_numberb() prototype, fixed regex callout usage callback and UTF-16 to UTF-8 transformation
    • perl/ESLIF.xs: Fixed a comment
    • etc/callout_inspect.pl: Helper to understand PCRE2 callouts
    • src/json*.c: Use regex callbacks instead of symbol events
    • src/marpaESLIF.c: Fix symbol display in _marpaESLIFRecognizer_errorv
    • include/marpaESLIF.h: More info for developpers using marpaESLIFCalloutBlock_t
    • API/README.pod: Fix
    • src/marpaESLIF.c: _marpaESLIFGrammar_symbolDescriptionCallback fix
    • Some more internal versions (no need of extra checks reserved to the case where it is an external API call)
    • src/json*.c: Removed lexemes from the grammar
    • Tutorial/propositionalLogic: Fix
    • Calculator/Calculator.sh: Fix
    • A complete revisit of the API, opening implicitly terminals into the interface
    • Open name adverb to :lexeme and :terminal rules
    • Renamed lexeme data to symbol data
    • src/marpaESLIF.c: Add marpaESLIF_symbol_type_t argument to _marpaESLIF_symbol_findp()
    • src/json.c: Fixed y_structure_capitalized_True test
    • src/json.c: Reduce structures
    • src/json*.c: Renamed DQUOTE to dquote
    • t/json.t: Restored some tests removed by previous commit
    • src/json.c: ROW and TABLE containers must be initialized for proper export
    • JSON callbacks during recognition uses the recognizer context
    • src/json.c: Fix propagation of final value
    • t/json.t: Removed unfortunate read of STDIN introduced for debugging locally...
    • src/json.c: Setted MARPAESLIF_UNLIKELY() macro where relevant
    • src/json*.c: Merged CNTRL_CHAR into CHAR lexeme
    • src/json*.c: Replaced the CNTRL_CHAR lexeme by an explicit terminal
    • src/json*.c: Merged number and constant in the same lexeme
    • src/json*.c: Removed the DQUOTE_START and DQUOTE_END lexemes
    • src/json.c: Fix memory leak
    • src/marpaESLIF.c: Fix again last commit...
    • src/marpaESLIF.c: Recomment a statement uncommended and commited by error
    • src/json.c: dev+
    • internal/logging.h: Fix macros when #ifndef MARPAESLIF_NTRACE
    • Merge commit 'e6492742a76d5f2e621e9fb26b35861b024d0433' into json_optimization_v2
    • Squashed '3rdparty/github/tconv/' changes from cda1cb9d..02ca365f
    • Fix includes of json grammars
    • JSON optimization using recognizer only dev+
    • src/marpaESLIF.c: Make _marpaESLIFRecognizer_lexeme_readb truely internal
    • Fix internal logging macros (bis)
    • Fix internal logging macros
    • API/README.pod: update
    • src/marpaESLIF.c: Rework of exhaustion event - ESLIF extends native marpa exhaustion to this case: if during scan/resume no alternative is found but last progress shows start symbol completion (typical case of a start symbol that is a sequence for example)
    • Fix last discard loop v.s. events and internalize some methods needed for the next JSON parser
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_lexeme_completeb, push ESLIF events before fetching grammar events
    • t/test.c: Test of inputLength(), input() and error()
    • inputLength, error binding interfaces, marpaESLIFRecognizer_lexeme_expectedb fix
    • New method marpaESLIFRecognizer_errorb
    • Allow resume to be called, even if scan was not called, when at least one lexeme alternative was pushed
    • When recognizer forced an exhaustion event, make sure it is not removed by upper layer that realise that this is a fake event by asking diretly marpa
    • t/advent.t: Fix logging
    • src/json.c: Renamed internal pause after events from xxx[] to xxx$
    • src/marpaESLIF.c: Fixed issue with initial events at scan() call and when there are also predicted lexemes
    • src/marpaESLIF.c: Prevent propagating a tconvp that failed if needed needed, and stay silent in lexeme mode when appending data
    • src/marpaESLIF.c: micro optimization in _marpaESLIFRecognizer_terminal_matcherb
    • marpaESLIF_internal_symbol_action dev+
    • marpaESLIF_internal_rule_action_t dev+
    • marpaESLIF_internal_event_action dev+
    • Optimizations dev+
    • Removed non needed internal _marpaESLIFValueResultAfterStack
    • src/json.c: Bug fix when shallowing entries
    • Merge commit 'fd81a35452728b9b61961dea43b68ac38f2bfd9b'
    • Squashed '3rdparty/github/genericStack/' changes from b47da89f..35e49cdc
    • src/json.c: #9 - Tiny optimization replacing if/else/elsef if with a switch
    • In _marpaESLIFRecognizer_terminal_matcherb, having a parent recognizer is much more likely to happen than being at eof
    • In _marpaESLIFRecognizer_internalStack_i_setb(), stop pretending we are better than the compiler ;)
    • #9: Avoid hash table lookup when possible
    • #9: Round 2 - Removed an unnecessary costly memcpy in the very central method _marpaESLIFRecognizer_symbol_matcherb() (revealed by callgrind)
    • #9: Round 2 - rearrange structures and use offsetof to suppress unpredictable switch() branch jumps
    • #9: removed old comment
    • #9: work on optimization - a better version, though still not excellent
    • src/marpaESLIF.c: _marpaESLIF_ptrhashi update
    • Merge commit 'c20741bc3954d29be405cc835d387b1b53b95894'
    • Squashed '3rdparty/github/marpaWrapper/' changes from 82dcfe1f..d133cc6b
    • Merge commit '3d8246088d3679594f831ddcaef417f7a1e49fd5'
    • Squashed '3rdparty/github/genericHash/' changes from 5ce9852b..6f36155c
    • test/jsonTester.c: Eventually parse stdin, usage is: jsonTester[Not]Strict - < file.json
    • BNF/README.pod: Add lookahead rules in the BNF
    • lookahead doc+ [ci skip]
    • Internal flag in grammar to remember if it has a lookahead meta
    • README.pod: Removed -DALL_IN_ONE=TRUE from build instructions
    • test/marpaESLIFLuaTest.lua: parameterized test t+
    • BNF/README.pod: Section on parameterized rules
    • README.pod: Mention parameterized rules and dynamic sub-grammars
    • src/marpaESLIF.c: Get context before processing the action
    • src/bootstrap.c: skip symbol checks when we know we in a dynamic symbol generator context
    • Revert "src/bootstrap.c: skip symbol checks when we know a new one will be created anyway"
    • src/bootstrap.c: skip symbol checks when we know a new one will be created anyway
    • test/marpaESLIFLuaTest.lua: Fix parameterized test
    • t/parameterizedRules.t: Fix
    • src/bootstrap.c: Fixed a bootstrapLhsp memory leak
    • BNF/README.pod: <symbol> should be <lhs> in event declarations
    • src/bootstrap.c: Removed a shallow pointer, this is also fixes a SEGV
    • src/bootstrap.c: Removed old symbolShallowp confusing variable, fixed some calls to check_meta
    • src/bootstrap.c: bug shown when separatorcallp is uncommented dev+
    • src/*.c: Fix some errors founds by gcc -Wall
    • src/marpaESLIFLua.c: Lua 5.2 compat for lua_isinteger
    • marpa/AppParse.java: Enable all tests
    • t/test.t: Fix
    • test/parameterizedTester.c: Fix
    • With java, it is recommended to explicitely type lua string as sequence of characters for interoperability else java will see a sequence of bytes, not a string
    • test/parameterizedTester.c: generator callback in C t+
    • bindings/README.pod: Give a hint how to create a true Lua string object for language interoperability using ESLIF
    • src/marpaESLIFLua.c: Fix typos in comments
    • bindings/README.pod: Fix typo
    • test/marpaESLIFTester.c: Fix condition
    • Java and generator callback dev+
    • test/*c: t+
    • test/parameterizedTester.c: t+
    • t/parameterizedRules.t: t+
    • t/parameterizedRules.t: use lexeme in dynamic grammar
    • Move lexemeGrammarHash to marpaESLIFGrammar
    • In _marpaESLIFRecognizer_meta_matcherb(), initialize generatedValueResult.u.s before passing it
    • marpaESLIFPerl_recognizerGeneratorCallbackb update: use marpaESLIFPerl_sv2byte() explicitely
    • perl/ESLIF.xs: generator action
    • In marpaESLIFLua_generatorCallbackb(), nargs is a size_t
    • Use our coding convention for err/done etc
    • Encoding test
    • Fix and use of the MARPAESLIFLUA_STRING_ENCODINGS() macro
    • BNF/README.pod: Add missing <lua functioncall> after <generation action> in <rhs primary> rule
    • Cache generated lexeme grammars in the top recognizer [ci skip]
    • Lexeme to grammar dev+ [ci skip]
    • Make all context operations internal
    • Squashed '3rdparty/github/luaunpanic/' changes from 2ea5626d..78f5dd04
    • Merge commit '4a07d2940c83befd32d1ccf4ba21a8803e45b7cb' into lua_external_symbol
    • Send arguments to generator callback [ci skip]
    • Merge commit '344d2c1dc011f35181f97636b0e1e2d91e324af0' into lua_external_symbol [ci skip]
    • Squashed '3rdparty/github/luaunpanic/' changes from 1c69b6f8..2ea5626d
    • luaunpanic subtree update impact [ci skip]
    • git_subtree_pull.zsh should work on current branch when doing hard reset
      • ci skip
    • Merge commit 'e7ed60aee1d36a55f6eeaafa27f52cca9ab89eab' into lua_external_symbol [ci skip]
    • Squashed '3rdparty/github/luaunpanic/' changes from fd2baa3e..1c69b6f8
    • Squashed '3rdparty/github/marpaWrapper/' changes from 9ea206a5..82dcfe1f
    • Merge commit '73ffb7a1cf9106f85895af6476f52bb244278e02' into lua_external_symbol [ci skip]
    • Fix external marpaESLIFRecognizer_contextb -> marpaESLIFRecognizer_context_getp [ci skip]
    • generator action dev+ [ci skip]
    • CMakeLists.txt fix [ci skip]
    • Back to terminals that cannot be parameterized [ci skip]
    • Fix printout of grammar, starting allowing parameterized terminals for templating [ci skip]
    • lua template engine dev+ [ci skip]
    • Squashed '3rdparty/github/lua-template-engine/' content from commit 2a0d6a9f
    • Merge commit '9b80fe534b221fc9ae2b2faa702780913d40f210' as '3rdparty/github/lua-template-engine'
    • Protect recognizer calls when in a sub-recognizer [ci skip]
    • test/parameterizedTester.c
    • perl/ESLIF.xs: Fix an indentation
    • Alleviate exception statement restrictions
    • test/yamlTester.c t+ [ci skip]
    • test/yamlTester.c: t+ [ci skip]
    • yamlTester dev+ [ci skip]
    • test/selfTester.c: back to original grammar [ci skip]
    • Replaced paramb by marpaESLIFValueResultForcedValuationp [ci skip]
    • Unused variables cleanup [ci skip]
    • Removed context from generator-callback parameters, it can be retreived using the recognizer [ci skip]
    • Fix symbol dump [ci skip]
    • dev+ Fix memory leak when propagating context to sub-recognizers [ci skip]
    • symbol generator dev+ [ci skip]
    • Propagate context to sub-recognizers [ci skip]
    • Back to internal event [ci skip]
    • src/bootstrap.c: Fixed an error text [ci skip]
    • src/marpaESLIF.c: dev+ [ci skip]
    • src/bootstrap.c: Make sure terminals are not parameterized [ci skip]
    • lua: niledtablek constructor [ci skip]
    • Renamed lexemeInputStack to lexemeStack [ci skip]
    • Fixed potential memory leak when freeing lexemeInputStack
    • t/test.t: Fix top attribute (plain wrong since the beginning)
    • src/marpaESLIF.c: Restored the top attribute [ci skip]
    • test/marpaESLIFLuaTest.lua: Update [ci skip]
    • t/jsonWithSharedStream.t: Update
    • src/bindings/*: Update [ci skip]
    • src/marpaESLIF.c: Fix MARPAESLIF_MAKE_MARPAESLIFVALUERESULTP_SHALLOW() macro [ci skip]
    • src/marpaESLIF.c: Removed marpaESLIFValueResultParameterizedp notion [ci skip]
    • src/marpaESLIF.c: Removed unneeded test on symbolp->type [ci skip]
    • src/marpaESLIF.c: fast_done version in marpaESLIFValue_valueb() [ci skip]
    • src/marpaESLIF.c: make proxy rule explicitely as internal [ci skip]
    • Fix symbol creation when it is referenced symbol [ci skip]
    • Lexeme event is not allowed on parameterized rhs [ci skip]
    • Suppress exceptioncallp, changed int rhsi to size_t rhsl [ci skip]
    • Renamed MARPAESLIF_MAKE_MARPAESLIFVALUERESULT_SHALLOWP macro to MARPAESLIF_MAKE_MARPAESLIFVALUERESULTP_SHALLOW [ci skip]
    • Reserve parameters to lexemes [ci skip]
    • Back to RHS terminal [ci skip]
    • Use internal rule for context transition [ci skip]
    • src/marpaESLIF.c: Make sure runtime variable are reset at retry [ci skip]
    • src/marpaESLIF.c: Move lua precompilation at the beginning of grammar validation, otherwise lexeme symbols will not inherit <luascript> [ci skip]
    • Try another model using true lexmes for parameterized symbols [ci skip]
    • Work on internal neightbour symbols v.s. stack and events [ci skip]
    • Removed context-action [ci skip]
    • context-action [ci skip]
    • Prepare context-action [ci skip]
    • Fix some includes and prepare for lua context call [ci skip]
    • src/marpaESLIF.c: MARPAESLIF_SYMBOL_CREATESHOW() for neighbour meta [ci skip]
    • test/marpaESLIFTester.c: Fix
    • Update perl interface
    • src/bootstrap.c: Fix unitialized variables [ci skip]
    • Number of expressions [ci skip]
    • Number of parameters [ci skip]
    • test/selfTester.c: Removed a debug call [ci skip]
    • Handle exception and separator symbols [ci skip]
    • BNF/README.pod: Cosmetic alignment fix [ci skip]
    • start symbol and more dev+ [ci skip]
    • functiondecl dev+ [ci skip]
    • t/test.c: Fix [ci skip]
    • C++ comment :discard update [ci skip]
    • src/marpaESLIF.c: grammar show fixes
    • eslif/G1.h: :discard update
    • BNF/README.pod: Cosmetic spaces again [ci skip]
    • BNF/README.pod: Added a space in some rules for readibilty [ci skip]
    • BNF/README.pod: :discard rule update [ci skip]
    • BNF/README.pod: Removed \\z from self grammar [ci skip]
    • BNF/README.pod: Self grammar update bis [ci skip]
    • BNF/README.pod: Self grammar update [ci skip]
    • perl/dist.ini: Cosmetic changes [ci skip]
    • src/lua.c: <lua optional parlist> fix [ci skip]
    • Use ::luac->function in the top example and in t/allluacallbacks.t [ci skip]
    • README.pod: Mention declarative lua action directly into the grammar [ci skip]
    • Support of ::luac->function
    • Stop precompiling actions in bootstrap: we trust our grammar, and if we are wrong, lua will yell at runtime
    • t/allluacallbacks.t: Add test with lua anonymous functions
    • Lua anonymous functions for actions
    • Renamed macro MARPAESLIF_HEXDUMPV() to MARPAESLIFRECOGNIZER_HEXDUMPV(), use it when problem scanning a lexeme at bootstrap [ci skip]
    • test/selfTester.c: Removed lua grammar (now in src/lua.c) [ci skip]
    • verbose adverb list item for lexemes
    • src/marpaESLIFLua.c: When running embedded, objects can be either injected, either created in Lua
    • src/marpaESLIFLua.c: Indexing of events should start at 1
    • BNF/README.pod: lua:: should read ::lua [ci skip]
    • Lua 5.3 grammar, enable :discard when trying to match a lexeme
    • src/bindings/perl/t/jsonWithSharedStream.t: Changed logs from info to debug (output too big for travis)
    • t/*t: Changed default log level to INFO (output too big for travis)
    • Update self grammar
    • src/marpaESLIF.c: Improve self-grammar representation, fix rule show in case of :discard [ci skip]
    • Renamed Examples/Lua5.3.txt to Examples/Lua5.3.4.txt
    • Examples/Lua5.3.txt: Add [ci skip]
    • src/bootstrap.c: Action G1_action_space_concat for future usage [ci skip]
    • Revert "src/bootstrap.c: Action G1_action_space_concat for future usage [ci skip]"
    • internal/bootstrap.h: Suppressed unused constant MARPAESLIF_BOOTSTRAP_STACK_TYPE_LHS [ci skip]
    • src/json.c: Simplified json :discard for maintanabilty
    • Revert "src/marpaESLIF.c: Better trace [ci skip]"
    • _marpaESLIFRecognizer_resume_oneb: reset alternativeStackSymboli in case of internal retry after successful discard
    • src/marpaESLIF.c: Better trace [ci skip]
    • _marpaESLIFRecognizer_discardParseb: Fix
    • Fix marpaESLIFRecognizer_symbol_tryb for meta symbol
    • src/marpaESLIF.c: In _marpaESLIFRecognizer_resume_oneb(), fix a potentially uninitialized variable [ci skip]
    • ESLIF/Recognizer.pm: More detail about the newFrom [ci skip]
    • java: external meta symbol support
    • perl: external meta symbol support
    • lua: external meta symbol support and test
    • src/marpaESLIF.c: Fix :start show
    • src/marpaESLIF.c: Fix _marpaESLIFSymbol_meta_newp
    • test/selfTester.c: Fix self grammar and external meta symbol test
    • API/README.pod: Fix typo for marpaESLIFRecognizer_discardb
    • marpaESLIFRecognizer_peekb() dev+ [ci skip]
    • New method marpaESLIFRecognizer_discardb(), fix logic when appending data in internal buffer
    • src/marpaESLIFLua.c: Fix comment [ci skip]
    • test/marpaESLIFLuaTest.lua: External symbol test [ci skip]
    • meta external symbol [ci skip]
    • meta external symbol test comment fix [ci skip]
    • meta external symbol doc [ci skip]
    • test/selfTester.c: t+ [ci skip]
    • marpaESLIFSymbolOption_t dev+
    • Java: Interface to progress(), latestEarleySetId() and earleme()
    • marpa/ESLIFProgress.java: Add [ci skip]
    • java/marpaESLIFJava.c: Review the name of all internal structures definitions [ci skip]
    • Add progress(), latestEarleySetId() and earleme() interfaces to Lua, remove earlemei and earlemeOrigi from marpaESLIFRecognizerProgress_t [ci skip]
    • marpaESLIFRecognizer_latestEarleySetIdb() and marpaESLIFRecognizer_earlemeb() new methods [ci skip]
    • marpaESLIFRecognizer_progressb() doc [ci skip]
    • perl: MarpaX::ESLIF::Recognizer::progress(start, end) interface [ci skip]
    • Add earlemei and earlemeOrigi to progress [ci skip]
    • New method marpaESLIFRecognizer_progressb()
    • Interface to recognizer context [ci skip]
    • marpa/AppJSON.java: Add re-encoding to JSON test
    • *stringbp doc [ci skip] dev+
    • Add a *stringbp parameter to representation callback
    • test/marpaESLIFTester.c: Fix memory leak [ci skip]
    • :sol pseudo flag for "Start Of Line"
    • test/marpaESLIFTester.c: print current input [ci skip]
    • src/bootstrap.c: Bug fix in _marpaESLIF_bootstrap_search_terminal_pseudob [ci skip]
    • Squashed '3rdparty/github/cmake-utils/' changes from 34733e7f..3a9719e5
    • Merge commit 'f5abce9f71ae14785467bfd03b799e374654c30f'
    • Version 5.0.7
    • BNF/README.pod: Fix for events [ci skip]
    • API/README.pod: Fix [ci skip]
    • API/README.pod: Update [ci skip]
    • json: avoid a malloc very often not necessary
    • src/json.c: Fix lvalue on a realloc
    • Version 5.0.6 [ci skip]
    • .travis.yml: -DCMAKE_BUILD_TYPE=Release
    • .travis.yml: debug
    • .travis.yml: asan
    • .travis.yml: java under valgrind
    • .travis.yml: -DCMAKE_BUILD_TYPE=RelWithDebInfo
    • src/json: missing memcpy
    • Work on Int, Nan and number helpers
    • perl/dist.ini: Fix META for bugtracker [ci skip]
    • New method marpaESLIFRecognizer_numberb [ci skip]
    • BNF/README.pod: Update ESLIF :discard definition take 2[ci skip]
    • BNF/README.pod: Update ESLIF :discard definition [ci skip]
    • Version 5.0.5
    • t/import_export.t: Better logging
    • MarpaX/ESLIF.pm: Put explicit Encode dependency just before the call to XSLoader
    • ESLIF/String.pm: Back to an old-style perl mode, this remove runtime dependency on Moo
    • perl/ESLIF.xs: Renaming of external dependencies for clarity
    • .travis.yml: Changed namespace::autoclean to namespace::clean to hardcoded perl imports for CMakeObjects.PL [ci skip]
    • ESLIF/String.pm: use namespace::sweep instead of namespace::autoclean, the later breaking overload
    • src/marpaESLIF.c: Fix compilation in trace mode [ci skip]
    • Version 5.0.4
    • perl/dist.ini: Fix detection of Sun C compiler [ci skip]
    • src/bootstrap.c: if-action support on :terminal was missing [ci skip]
    • Version 5.0.3
    • perl/ESLIF.xs: genericStack internals have changed and conflict again with perl's macro that redefine malloc, realloc, free etc.
    • perl/dist.ini: Change bugtracker.rt to bugtracker.github [ci skip]
    • Version 5.0.2
  • Jeffrey Kegler <jeffreykegler@jeffreykegler.com>
    • More typos in README.pod
    • Update README.pod
  • Jeffrey Kegler <jeffreykegler@protonmail.com>
    • Replace "transverse" in docs/comments"
  • jddurand <jeandamiendurand@free.fr>
    • Create cmake.yml

Documentation

MarpaX::ESLIF's BNF
MarpaX::ESLIF's Bindings
MarpaX::ESLIF's Introduction
MarpaX::ESLIF's logger interface
MarpaX::ESLIF's recognizer interface
MarpaX::ESLIF Calculator Tutorial
MarpaX::ESLIF's value interface

Modules

ESLIF is Extended ScanLess InterFace
ESLIF base
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
MarpaX::ESLIF's recognizer
ESLIF Regex Callout
ESLIF Rule Property Bit Set
ESLIF String is any string value with encoding attribute
MarpaX::ESLIF's symbol
ESLIF Symbol Event Bit Set
ESLIF Symbol Property Bit Set
ESLIF Symbol Type
MarpaX::ESLIF's value
ESLIF Value Types