preamble 0.48 2018-02-02T19:42:34 [Ben Bullock ] - indent the heredocument part of the code correctly [Ivan Baidakou ] - Fix issue with shared dir [Jean-Damien Durand ] - Recommend to start with MarpaX::Languages::C::Scan - Fix cdecl after directAbstractDeclarator change in the grammar - dist.ini: Git::Contributors instead of ContributorsFromGit - A directAbstractDeclarator does not create scopes - gcc asm can contain nothing alter the ':' character - Switch to File::ShareDir, closes #13 - Profiling dev+ - Fix finding of parsed function declaration at the TOP LEVEL - csl.xsl: do not take parameterDeclaration by default - csl: recurse number - csl: added missing specifierQualifierList - csl: dev+ - hsl: dev+ - perl5.xsl: dev+ - xslt/perl5.xsl: dev+ - ISO_ANSI_C_2011/Scan.pm: export of xslt() and content() methods - bin/cscan: POD fix - ISO_ANSI_C_2011/Scan.pm: fix usage of temp filehandle - ISO_ANSI_C_2011/Scan.pm: switch to the more portable IO::CaptureOutput module - Grammar/ISO_ANSI_C_2011.pm: Removed non-needed (seems to me) MSVS___C_ASSERT, added more MSVS compatibility stuff - perlcritic - perlcritic.rc: allow_includes - bin/c2ast: remove mention of cpretty - xpath/declaration2declarator.xpath: unused - t/scan.t: handle different cpp behaviours v.s. space - bin/cscan: --lazy, --typedef and --enum options - bin/c2ast: Removed unnecessary use File::ShareDir::ProjectDistDir - bin/c2ast: Removed all experimental stuff with Template - Impl/Logger.pm: github issue #9 with latest Log::Any - bin/cdecl: move print of STDOUT/STDERR before the exit - bin/cscan: enumType default is int - bin/cscan: better handling of C::Scan returned object type - replae method: dev+ - Scan/Actions.pm: fix very last action - AST/Util.pm: fix POD error - In nocpp init phase, fix read of buffer - ISO_ANSI_C_2011/Scan.pm: nocpp option, pass other options as-is to AST->new(), do not call all methods systematically - Grammar/ISO_ANSI_C_2011.pm: Fixed an error in labeledStatement introduced when adding gcc extension case A ... B - bin/cscan: show that file argument is optional in the help - bin/cdecl: wrapper around bin/cscan - bin/cscan: automatic - for last argument if nothing left and no --in option, mention cdecl in the help - cdecl test suite - ISO_ANSI_C_2011/Scan.pm: _readFunctionArgs() should always return $last node - cdecl: _readToId() need sometimes to distinguish stack up to the first declarator and later - bin/cscan: fix test of filename v.s. filesystem case tolerance - bin/cscan: fix default --filter option value - ISO_ANSI_C_2011/Scan.pm: fix eventual crash with fc() - --filter default option value is basename of last argument - xpath/enumerators.xpath: list of all enumerators - cdecl: enum support - bin/cscan: --enumType option - cdecl: struct fixes - ISO_ANSI_C_2011/Scan.pm: dev+ on embedded definitions - almost done -; - cdecl: reduction - xpath/missingIdentifier.xpath: xpath fix - Grammar/ISO_ANSI_C_2011.pm: unhide single SEMICOLON lexeme in case of empty declaration - Scan/Actions.pm: getRuleDescription() method - missingIdentifier: better solution using xpath, IMHO -; - ISO_ANSI_C_2011/Scan.pm: fake identifiers dev+ - xpath/missingIdentifier.xpath: fake identifiers dev+ - ISO_ANSI_C_2011/Scan.pm: log improvement - ISO_ANSI_C_2011/Scan.pm: ellipsis and comma fixes - ISO_ANSI_C_2011/Scan.pm: restoring commas dev+ - xpath/missingComma.xpath: xpath to recover commas removed by Marpa's separator keyword: cdecl relies on it - ISO_ANSI_C_2011/Scan.pm: revert last thingy - solution is deeper - ISO_ANSI_C_2011/Scan.pm: cdecl ellipsis fix - ISO_ANSI_C_2011/Scan.pm: minor typos fixes - ISO_ANSI_C_2011/Scan.pm: cdecl dev+ - bin/cscan: add log options and support of - - Scan/Actions.pm: removed unused "use" - bin/cdecl: dev+ - bin/cdecl: logging stuff - bin/cdecl: --input argument - bin/cdecl: POD fixes - dev+ - xslt/perl5: dev+ - ISO_ANSI_C_2011/Scan.pm: _getNodeFile becomes back _pushNodeFile and can automatically set the file attribute - ISO_ANSI_C_2011/Scan.pm: renamed _pushNodeFile to _getNodeFile - ISO_ANSI_C_2011/Scan.pm: _pushNodeFile fix - bin/c2bind: log as info instead of trace sometimes - bin/c2bind: fix POD - bin/c2bind: revival - dev+: back to TT - bin/c2ast: dev+ on elements values - bin/c2ast: dev+ on xslt dependencies - bin/c2ast: work on paths for xslt - xpath/topDeclarations.xpath: needed for C::Scan - bin/c2ast: dev+ for bindings - Grammar/ISO_ANSI_C_2011.pm: add name for lexeme default value - impact on test suite - Data/Find.pm: Add endOfElement callback - Grammar/ISO_ANSI_C_2011.pm: add name for lexeme default value - bin/c2ast: reorg of used modules + Template preparation - ISO_ANSI_C_2011/Scan.pm: say which xpath is used + topDeclarations file attribute - bin/cscan: mention topDeclarations - t/complex_declarations.t: more complex declaration - Grammar/ISO_ANSI_C_2011.pm: rename gccArrayTypeModifierList to typeQualifierlist - t/complex_declarations.t: who knows - bin/c2bind: fix @ARGV a-la cscan - bin/c2bind: fix a comment - bin/c2bind prototype - bin/cscan: fix help - cosmetics - fdecls fixes - s/scan.t: typedef_structs fixes - ISO_ANSI_C_2011/Scan.pm: typedef addons - ISO_ANSI_C_2011/Scan.pm: vdecl addons - ISO_ANSI_C_2011/Scan.pm: start adding file information - ISO_ANSI_C_2011/Scan.pm: macros revisit - ISO_ANSI_C_2011/Scan.pm: fix modification of non-creatable array value attempted, subscript -1 - Getting rid of XML::Simple, finally - AST/Util.pm: fix line and column count - cscan: prepare for supression of XML::Simple - cscan: restore some xml behaviour - Removed shared xsd/cscan.xsd - use File::ShareDir::ProjectDistDir - bin/cscan: Rephrasing a bit in the POD - bin/cscan: Removed unused asHash option - Method astToString and cscan - ISO_ANSI_C_2011/Scan.pm: removed a print to STDERR - Grammar/ISO_ANSI_C_2011.pm: careful use of separator v.s. proper - typedef_texts a-la xpath - typedef_hash a-la xpath - share/xpath/xsd2fdecls.xpath: exclude path having structDeclarationList from fdecls candidates - share/xpath/xsd2fdecls.xpath: exclude TYPEDEF from fdecls candidates - Move to a correct solution and process the tree using XML::LibXML (until a Marpa XML parser -;) - Grammar/ISO_ANSI_C_2011.pm: forget around structContext internal rule in the value - ISO_ANSI_C_2011/Scan.pm: prepare for use of Scan/Actions.pm - Grammar/ISO_ANSI_C_2011.pm: use semantics_package instead of obsolete action_object - Scan/Actions.pm: specific Scan actions - C/AST.pm: actionObject, nonTerminalSemantic and terminalSemantic arguments to grammar - Grammar/ISO_ANSI_C_2011.pm: added configurable action object, reworked internal variable names - Grammar/ISO_ANSI_C_2011.pm: added configurable non-terminal and terminal semantic actions - work on cscan.xsd - work on _pushRcp - share/xsd/cscan.xsd - merge conflict - ISO_ANSI_C_2011/Scan.pm: typedefs_structs fix in case of opaque struct forward declaration - Grammar/ISO_ANSI_C_2011/Scan.pm: fix typedef_structs - Grammar/ISO_ANSI_C_2011.pm: allow empty externalDeclaration - Grammar/ISO_ANSI_C_2011.pm: allow no translation unit - ISO_ANSI_C_2011/Scan.pm: cleaned bloated _buildContext() - xslt: dev+ - ISO_ANSI_C_2011/Scan.pm: fix undef args - Grammar/ISO_ANSI_C_2011.pm: Support of GCC case ranges - ISO_ANSI_C_2011: Support of GCC escape ESC character - ISO_ANSI_C_2011/Scan.pm: list fixes - t/struct.t: add a function declaration in struct - Callback/Events.pm: force struct counter to have a persistence level to "level", add these counters to parameterDeclarationCheck - Callback/Events.pm: added missing counters in topic data, that caused parse table to be processed even in struct context - t/struct.t: renamed misleading identifier "free" to "this" - t/struct.t: case that failed with 0.36-TRIAL - t/obscure_typedef_*style.t : change comment - bug fix with parameter not obscuring typedef - bin/c2ast: missing --trace option - rulesByDepth: sort by ruleId eventually - ruleByDepth: use rule_name and put more info the result - use Marpa::R2 2.081001 - rulesByDepth - POD update - bin/c2ast: Mention '-' for STDIN usage in the POD and fix log info about it - bin/c2ast: Support STDIN, loglevel aliases on the command-line, optional start (dev+), add INFO level logging to bin/c2ast - optional :start, dev+ - AST/Impl.pm: use Marpa::R2 2.080000 - ISO_ANSI_C_2011/Scan.pm: ft can be '0', so use // instead of || - Test suite and CPP different behaviour v.s. OS - bin/c2ast: --lazy, --typedef, --enum and --nocpp options - AST.pm: mod POD for lazy mode - AST.pm: even in lazy mode we can use typedef/enum helpers - AST.pm: type, enum and lazy options support. Preparation for start option support - AST/impl.pm: added lexeme_alternative() and lexeme_complete() - bin/*: say that filename must be the last argument when using unknown option(s) - Optimization bis - Global optimization - Callback/Events.pm : optimization - t\delayed_directDeclaratorIdentifier.t: more tests - Grammar/ISO_ANSI_C_2011.pm: need for a special lexeme in compoundStatementReenterScope - Scope management: delay flag should be per scope, closing a scope should recursively its parent if it is marked delayed - Callback/Events.pm: delayed directDeclaratorIdentifier test - Callback/Events.pm: fixed a vicious case where directDeclaratorIdentifier is not yet propagated into declarationCheckinitDeclaratorList - Removed unwanted file from previous commit - bin/c2ast: fix pod2usage call - bin/cscan: pass through of arguments, fix POD output - Grammar/ISO_ANSI_C_2011.pm: unmask gccExtension - ASM.pm: added a NOTES section - Removed work files - t/*.t: alwys call value() - Opaque ASM support for everything not GCC inline ASM - AST/Util.pm: force non true space to a true space for error reporting - AST/Util.pm: Fixed $log->fatalf() arguments - MASM: dev+ - work/MSASM2.pl: dev+ - work/MSASM.bnf: fixed end of buffer detection + use forgiving - work/MSASM.bnf: add end of buffer to endOfLine - work/MSASM.bnf: dev+ - Revert "work/MSASM.bnf: dev+" - work/MSASM.bnf: :discard rule dev+ - MSASM.bnf: dev+ - Impl.pm: Bump Marpa::R2 dependency to version 2.078000 - Grammar/ISO_ANSI_C_2011.pm: use insentitive lexemes for MASM - AST.pm: Reduce the number of calls to value() - dist.ini: Move [OSPrereqs / MSWin32] after [MakeMaker] - Grammar/ISO_ANSI_C_2011.pm: ambiguity with msvsAsmType - ISO_ANSI_C_2011/Scan.pm: Environment variables support for cpprun and cppflags, Shell quoting when executing the preprocessor - dist.ini: Win32::ShellQuote on MSWin32 - examples/h2xs.PL : Marpa aware version - ISO_ANSI_C_2011/Scan.pm: more protections - ISO_ANSI_C_2011/Scan.pm: parsed_fdecls is not interested by typedef'ed functions declarations, prevent more undefined to be inserted - bin/cscan: fixed mod example, "mytype" should read "double" - ISO_ANSI_C_2011/Scan.pm: mod is setted via an appended, its separator is empty - Removed unused blog file and dir - ISO_ANSI_C_2011/Scan.pm: no splice if not necessary, exhibits a test failure under perl <= 5.14 - bin/cscan: --in option - bin/cscan: --out and --err options, yet another --xpath example - bin/cscan: fix $xml usage confusion in source - bin/cscan: revisited example to find declared strings - bin/cscan: example for find declared strings - bin/cscan: say that get method are for C::Scan like methods - bin/cscan: removed a debugging print STDERR - bin/cscan: say in the abstract this is a C::Scan alternative - bin/cscan: no critic on the eval (bis) - bin/cscan: no critic on the eval - bin/c2ast: perlcritic - c2ast.pl -> c2ast - say that c2ast.pl is now c2ast - bin/cscan: more examples with --cppflags - bin/cscan: another example taking about inner anonymous types - bin/cscan : implementation of --xml and --xpath options - ISO_ANSI_C_2011/Scan: fix calculation of line number - t/scan.t: skip file/line information in tests dev+ - ISO_ANSI_C_2011/Scan.pm: line calculation dev+ - ISO_ANSI_C_2011.pm: should be loaded once - bin/scan: xpath preparation - ISO_ANSI_C_2011/Scan: function type is not inherited - bin/cscan: generic get argument - ISO_ANSI_C_2011/Scan.pm: original filename processing fix - bin/cscan : a very special replacement for POD not generated at run time - ISO_ANSI_C_2011/Scan.pm: perlcritic on $_ - t/scan.t: fix following removal of use C::Scan - ISO_ANSI_C_2011/Scan.pm: typo that exhibits under perl <= 5.12 - t/scan.t: remove use C::Scan - use #!perl for shebang (same effect as #!/usr/bin/perl but I prefer the former) - bin/c2ast.pl: fix some POD formatting - cscan cmdline prototype - Commented C::Scan comparison in tests - too many failures - Yet POD fixes - Scan.pm: update SYNOPSIS - release trial fixes - C::Scan cmp MarpaX::Languages::C::Scan - typedefs_structs test and change following before/after fix - ISO_ANSI_C_2011/Scan.pm : missing enum in KEY2ID and fix before/after as per C::SCan - ISO_ANSI_C_2011/Scan.pm: POD fix - ISO_ANSI_C_2011/Scan: POD fixes - vdecl_hash test - vdecls test - typedef_texts and typedefs_maybe tests - ISO_ANSI_C_2011/Scan: sort explicitely when output is a map on hash result - scan.t: typedef_hash test - scan.t: t+ - parsed_fdecls test - ISO_ANSI_C_2011/Scan.pm: Fix bug in _analyseDirectAbstractDeclarator, missing checks in _prependRcp and _appendRcp - ISO_ANSI_C_2011/Scan.pm: Fix POD and 'ty' in parsed_fdecls in case of a function - ISO_ANSI_C_2011/Scan.pm: Fixed PURGE_IDX value, removed unused _copyRcp - C::Scan t+ - C::Scan integration: t+ - use Pod::Usage - c2ast.pl: say that unknown options are sent to cpp - import C::Scan-like module - AST.pm: Initial line number should be 1 instead of 0 - c2ast.pl: move File::Spec->canonpath at a better place - c2ast.pl: use File::Spec->canonpath before file comparison - comment #7 - Grammar/ISO_ANSI_C_2011.pm: Added missing priority for IDENTIFIER_UNAMBIGUOUS - bin/c2ast.pl: typo in usage - t/gcc_extension.t: tests - ISO_ANSI_C_2011.pm: restored (gccExtension) rhs in specifiers declarations - ISO_ANSI_C_2011.pm: moved misplaced (gccExtension) rhs - Fixed reference data - Remove unused event - Runtime optimization - Remove usage of clone - Fix show source when failure is on paused lexeme - use Clone instead of Storable - Removed unused import - runtime optimization - renamed cached ncb from _ncb to _cacheNcb - Avoid one internal match - Cases where IDENTIFIER is not ambiguous - Modifications as per yafce - runtime optimizations - MSVS's .type could eat C lexemes DOT and 'type' - Back to version with GCC extension in the grammar - Fix errors let by previous commit - Discard GCC __extension__ - Removed unused event - More GCC asm tests - New reference data - Removed gccEmptyRule, Support of GCC asm goto - Newline stuff (Marpa i.e. unicode v.s. only \n) - Work on newline - Work on typedef priority - Removed ASM pause before preparation - GCC_ASM token can also be "asm" - New version of reference data - Support of binary constants (GCC extension) - __asm G1 preparation - _doPauseAfterLexeme renamed to ->doPauseBefore - replaced by - GCC __extension__ ony once for expression - GCC __extension__ cannot be in :discard - :discard of __extension (GCC) - :discard of GCC __attribute__ - renamed - Move GCC __attribute__ to :discard - Added missing MSVS __thiscall and __clrcall to function modifier - Move MSVS's __inline and __forceinline into generic INLINE lexeme - MSVS __declspec :discard test - Move __declspec to :discard - Try to make grammer more readable (2) - Try to make grammer more readable - Add missing MSVS declspec modifiers - Renamed t/discard_pragma.t to t/discard_MSVS_pragma.t - Remove logging - __pragma vtordisp - __pragma strict_gs_check - __pragma setlocale - __pragma section - __pragma runtime_checks - __pragma region/endregion - __pragma pop_macro/push_macro - __pragma pointers_to_members - __pragma pack - __pragma optimize - __pragma once - __pragma message - __pragma managed/unmanaged - __pragma make_public - __pragma loop - __pragma intrinsic - __pragma inline_recursion - __pragma inline_depth - __pragma include_alias - __pragma hdrstop - __pragma function - __pragma fp_contract - __pragma float_control - __pragma fenv_access - __pragma detect_mismatch - __pragma deprecated - __pragma conform - __pragma component - __pragma comment - bss_seg, code_seg, const_seg and data_seg share the same syntax - __pragma bss_seg fixes, add __pragma check_stack - test pragma bss_seg - pragma bss_seg - add comments - pragma warning fix - pragma test - pragma fix - Missing statement in pragma push - __declspec(deprecated) fix and __pragma alloc_text, auto_inline, warning discard - Support of logInfo __ALL__ continued - Fix reference data - __ALL__ special lexeme survey support, MSVS fixes - Document __ALL__ --lexeme value - Associate user-data to typedef and enum - new function startAndLength - deref nothing, revisit few sequences - Return true is something found - Push dirty files correctly - typedefPerScope and enumAnyScope accessors - scope object accessor - Fix default callback value - Better comment - Fix pod - v0.19 - Call log only when its level is ok - Remove useless commented block - Remove non-needed events - Tiny optimization - v0.18 - c2ast cc replacement example - stack based version as per jeffreykegler - Tiny optimisations - Tiny optimisation - --logstderr option - Fix doc - Remove non-needed use Config - Promote STRING_LITERAL_UNIT as lexeme - Remember logInfo parameter so that we do not log more than was it requested - Fix logInfo parameter - Trying to fix Changes content, some dirty things will lay out forever it seems - v0.17 - c2ast.pl: typo in regexp - v0.16 - Optimisations (ter) - v0.15 - Lasy commit just to have git cached connection for dzil release - v0.14 - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Doc update - Optimisations [Jeffrey Kegler ] - Revise --cppfile help [jddurand ] - ISO_ANSI_C_2011/Scan.pm: _classifyNode: do not rely on node adress when eating nodes - bin/cdecl: use IPC::Cmd for portability until I find another way 0.47 2017-04-12T18:08:16Z [Ben Bullock ] - indent the heredocument part of the code correctly [Ivan Baidakou ] - Fix issue with shared dir [Jean-Damien Durand ] - Switch to File::ShareDir, closes #13 - Profiling dev+ - Fix finding of parsed function declaration at the TOP LEVEL - csl.xsl: do not take parameterDeclaration by default - csl: recurse number - csl: added missing specifierQualifierList - csl: dev+ - hsl: dev+ - perl5.xsl: dev+ - xslt/perl5.xsl: dev+ - ISO_ANSI_C_2011/Scan.pm: export of xslt() and content() methods - bin/cscan: POD fix - ISO_ANSI_C_2011/Scan.pm: fix usage of temp filehandle - ISO_ANSI_C_2011/Scan.pm: switch to the more portable IO::CaptureOutput module - Grammar/ISO_ANSI_C_2011.pm: Removed non-needed (seems to me) MSVS___C_ASSERT, added more MSVS compatibility stuff - perlcritic - perlcritic.rc: allow_includes - bin/c2ast: remove mention of cpretty - xpath/declaration2declarator.xpath: unused - t/scan.t: handle different cpp behaviours v.s. space - bin/cscan: --lazy, --typedef and --enum options - bin/c2ast: Removed unnecessary use File::ShareDir::ProjectDistDir - bin/c2ast: Removed all experimental stuff with Template - Impl/Logger.pm: github issue #9 with latest Log::Any - bin/cdecl: move print of STDOUT/STDERR before the exit - bin/cscan: enumType default is int - bin/cscan: better handling of C::Scan returned object type - replae method: dev+ - Scan/Actions.pm: fix very last action - AST/Util.pm: fix POD error - In nocpp init phase, fix read of buffer - ISO_ANSI_C_2011/Scan.pm: nocpp option, pass other options as-is to AST->new(), do not call all methods systematically - Grammar/ISO_ANSI_C_2011.pm: Fixed an error in labeledStatement introduced when adding gcc extension case A ... B - bin/cscan: show that file argument is optional in the help - bin/cdecl: wrapper around bin/cscan - bin/cscan: automatic - for last argument if nothing left and no --in option, mention cdecl in the help - cdecl test suite - ISO_ANSI_C_2011/Scan.pm: _readFunctionArgs() should always return $last node - cdecl: _readToId() need sometimes to distinguish stack up to the first declarator and later - bin/cscan: fix test of filename v.s. filesystem case tolerance - bin/cscan: fix default --filter option value - ISO_ANSI_C_2011/Scan.pm: fix eventual crash with fc() - --filter default option value is basename of last argument - xpath/enumerators.xpath: list of all enumerators - cdecl: enum support - bin/cscan: --enumType option - cdecl: struct fixes - ISO_ANSI_C_2011/Scan.pm: dev+ on embedded definitions - almost done -; - cdecl: reduction - xpath/missingIdentifier.xpath: xpath fix - Grammar/ISO_ANSI_C_2011.pm: unhide single SEMICOLON lexeme in case of empty declaration - Scan/Actions.pm: getRuleDescription() method - missingIdentifier: better solution using xpath, IMHO -; - ISO_ANSI_C_2011/Scan.pm: fake identifiers dev+ - xpath/missingIdentifier.xpath: fake identifiers dev+ - ISO_ANSI_C_2011/Scan.pm: log improvement - ISO_ANSI_C_2011/Scan.pm: ellipsis and comma fixes - ISO_ANSI_C_2011/Scan.pm: restoring commas dev+ - xpath/missingComma.xpath: xpath to recover commas removed by Marpa's separator keyword: cdecl relies on it - ISO_ANSI_C_2011/Scan.pm: revert last thingy - solution is deeper - ISO_ANSI_C_2011/Scan.pm: cdecl ellipsis fix - ISO_ANSI_C_2011/Scan.pm: minor typos fixes - ISO_ANSI_C_2011/Scan.pm: cdecl dev+ - bin/cscan: add log options and support of - - Scan/Actions.pm: removed unused "use" - bin/cdecl: dev+ - bin/cdecl: logging stuff - bin/cdecl: --input argument - bin/cdecl: POD fixes - dev+ - xslt/perl5: dev+ - ISO_ANSI_C_2011/Scan.pm: _getNodeFile becomes back _pushNodeFile and can automatically set the file attribute - ISO_ANSI_C_2011/Scan.pm: renamed _pushNodeFile to _getNodeFile - ISO_ANSI_C_2011/Scan.pm: _pushNodeFile fix - bin/c2bind: log as info instead of trace sometimes - bin/c2bind: fix POD - bin/c2bind: revival - dev+: back to TT - bin/c2ast: dev+ on elements values - bin/c2ast: dev+ on xslt dependencies - bin/c2ast: work on paths for xslt - xpath/topDeclarations.xpath: needed for C::Scan - bin/c2ast: dev+ for bindings - Grammar/ISO_ANSI_C_2011.pm: add name for lexeme default value - impact on test suite - Data/Find.pm: Add endOfElement callback - Grammar/ISO_ANSI_C_2011.pm: add name for lexeme default value - bin/c2ast: reorg of used modules + Template preparation - ISO_ANSI_C_2011/Scan.pm: say which xpath is used + topDeclarations file attribute - bin/cscan: mention topDeclarations - t/complex_declarations.t: more complex declaration - Grammar/ISO_ANSI_C_2011.pm: rename gccArrayTypeModifierList to typeQualifierlist - t/complex_declarations.t: who knows - bin/c2bind: fix @ARGV a-la cscan - bin/c2bind: fix a comment - bin/c2bind prototype - bin/cscan: fix help - cosmetics - fdecls fixes - s/scan.t: typedef_structs fixes - ISO_ANSI_C_2011/Scan.pm: typedef addons - ISO_ANSI_C_2011/Scan.pm: vdecl addons - ISO_ANSI_C_2011/Scan.pm: start adding file information - ISO_ANSI_C_2011/Scan.pm: macros revisit - ISO_ANSI_C_2011/Scan.pm: fix modification of non-creatable array value attempted, subscript -1 - Getting rid of XML::Simple, finally - AST/Util.pm: fix line and column count - cscan: prepare for supression of XML::Simple - cscan: restore some xml behaviour - Removed shared xsd/cscan.xsd - use File::ShareDir::ProjectDistDir - bin/cscan: Rephrasing a bit in the POD - bin/cscan: Removed unused asHash option - Method astToString and cscan - ISO_ANSI_C_2011/Scan.pm: removed a print to STDERR - Grammar/ISO_ANSI_C_2011.pm: careful use of separator v.s. proper - typedef_texts a-la xpath - typedef_hash a-la xpath - share/xpath/xsd2fdecls.xpath: exclude path having structDeclarationList from fdecls candidates - share/xpath/xsd2fdecls.xpath: exclude TYPEDEF from fdecls candidates - Move to a correct solution and process the tree using XML::LibXML (until a Marpa XML parser -;) - Grammar/ISO_ANSI_C_2011.pm: forget around structContext internal rule in the value - ISO_ANSI_C_2011/Scan.pm: prepare for use of Scan/Actions.pm - Grammar/ISO_ANSI_C_2011.pm: use semantics_package instead of obsolete action_object - Scan/Actions.pm: specific Scan actions - C/AST.pm: actionObject, nonTerminalSemantic and terminalSemantic arguments to grammar - Grammar/ISO_ANSI_C_2011.pm: added configurable action object, reworked internal variable names - Grammar/ISO_ANSI_C_2011.pm: added configurable non-terminal and terminal semantic actions - work on cscan.xsd - work on _pushRcp - share/xsd/cscan.xsd - merge conflict - ISO_ANSI_C_2011/Scan.pm: typedefs_structs fix in case of opaque struct forward declaration - Grammar/ISO_ANSI_C_2011/Scan.pm: fix typedef_structs - Grammar/ISO_ANSI_C_2011.pm: allow empty externalDeclaration - Grammar/ISO_ANSI_C_2011.pm: allow no translation unit - ISO_ANSI_C_2011/Scan.pm: cleaned bloated _buildContext() - xslt: dev+ - ISO_ANSI_C_2011/Scan.pm: fix undef args - Grammar/ISO_ANSI_C_2011.pm: Support of GCC case ranges - ISO_ANSI_C_2011: Support of GCC escape ESC character - ISO_ANSI_C_2011/Scan.pm: list fixes - t/struct.t: add a function declaration in struct - Callback/Events.pm: force struct counter to have a persistence level to "level", add these counters to parameterDeclarationCheck - Callback/Events.pm: added missing counters in topic data, that caused parse table to be processed even in struct context - t/struct.t: renamed misleading identifier "free" to "this" - t/struct.t: case that failed with 0.36-TRIAL - t/obscure_typedef_*style.t : change comment - bug fix with parameter not obscuring typedef - bin/c2ast: missing --trace option - rulesByDepth: sort by ruleId eventually - ruleByDepth: use rule_name and put more info the result - use Marpa::R2 2.081001 - rulesByDepth - POD update - bin/c2ast: Mention '-' for STDIN usage in the POD and fix log info about it - bin/c2ast: Support STDIN, loglevel aliases on the command-line, optional start (dev+), add INFO level logging to bin/c2ast - optional :start, dev+ - AST/Impl.pm: use Marpa::R2 2.080000 - ISO_ANSI_C_2011/Scan.pm: ft can be '0', so use // instead of || - Test suite and CPP different behaviour v.s. OS - bin/c2ast: --lazy, --typedef, --enum and --nocpp options - AST.pm: mod POD for lazy mode - AST.pm: even in lazy mode we can use typedef/enum helpers - AST.pm: type, enum and lazy options support. Preparation for start option support - AST/impl.pm: added lexeme_alternative() and lexeme_complete() - bin/*: say that filename must be the last argument when using unknown option(s) - Optimization bis - Global optimization - Callback/Events.pm : optimization - t\delayed_directDeclaratorIdentifier.t: more tests - Grammar/ISO_ANSI_C_2011.pm: need for a special lexeme in compoundStatementReenterScope - Scope management: delay flag should be per scope, closing a scope should recursively its parent if it is marked delayed - Callback/Events.pm: delayed directDeclaratorIdentifier test - Callback/Events.pm: fixed a vicious case where directDeclaratorIdentifier is not yet propagated into declarationCheckinitDeclaratorList - Removed unwanted file from previous commit - bin/c2ast: fix pod2usage call - bin/cscan: pass through of arguments, fix POD output - Grammar/ISO_ANSI_C_2011.pm: unmask gccExtension - ASM.pm: added a NOTES section - Removed work files - t/*.t: alwys call value() - Opaque ASM support for everything not GCC inline ASM - AST/Util.pm: force non true space to a true space for error reporting - AST/Util.pm: Fixed $log->fatalf() arguments - MASM: dev+ - work/MSASM2.pl: dev+ - work/MSASM.bnf: fixed end of buffer detection + use forgiving - work/MSASM.bnf: add end of buffer to endOfLine - work/MSASM.bnf: dev+ - Revert "work/MSASM.bnf: dev+" - work/MSASM.bnf: :discard rule dev+ - MSASM.bnf: dev+ - Impl.pm: Bump Marpa::R2 dependency to version 2.078000 - Grammar/ISO_ANSI_C_2011.pm: use insentitive lexemes for MASM - AST.pm: Reduce the number of calls to value() - dist.ini: Move [OSPrereqs / MSWin32] after [MakeMaker] - Grammar/ISO_ANSI_C_2011.pm: ambiguity with msvsAsmType - ISO_ANSI_C_2011/Scan.pm: Environment variables support for cpprun and cppflags, Shell quoting when executing the preprocessor - dist.ini: Win32::ShellQuote on MSWin32 - examples/h2xs.PL : Marpa aware version - ISO_ANSI_C_2011/Scan.pm: more protections - ISO_ANSI_C_2011/Scan.pm: parsed_fdecls is not interested by typedef'ed functions declarations, prevent more undefined to be inserted - bin/cscan: fixed mod example, "mytype" should read "double" - ISO_ANSI_C_2011/Scan.pm: mod is setted via an appended, its separator is empty - Removed unused blog file and dir - ISO_ANSI_C_2011/Scan.pm: no splice if not necessary, exhibits a test failure under perl <= 5.14 - bin/cscan: --in option - bin/cscan: --out and --err options, yet another --xpath example - bin/cscan: fix $xml usage confusion in source - bin/cscan: revisited example to find declared strings - bin/cscan: example for find declared strings - bin/cscan: say that get method are for C::Scan like methods - bin/cscan: removed a debugging print STDERR - bin/cscan: say in the abstract this is a C::Scan alternative - bin/cscan: no critic on the eval (bis) - bin/cscan: no critic on the eval - bin/c2ast: perlcritic - c2ast.pl -> c2ast - say that c2ast.pl is now c2ast - bin/cscan: more examples with --cppflags - bin/cscan: another example taking about inner anonymous types - bin/cscan : implementation of --xml and --xpath options - ISO_ANSI_C_2011/Scan: fix calculation of line number - t/scan.t: skip file/line information in tests dev+ - ISO_ANSI_C_2011/Scan.pm: line calculation dev+ - ISO_ANSI_C_2011.pm: should be loaded once - bin/scan: xpath preparation - ISO_ANSI_C_2011/Scan: function type is not inherited - bin/cscan: generic get argument - ISO_ANSI_C_2011/Scan.pm: original filename processing fix - bin/cscan : a very special replacement for POD not generated at run time - ISO_ANSI_C_2011/Scan.pm: perlcritic on $_ - t/scan.t: fix following removal of use C::Scan - ISO_ANSI_C_2011/Scan.pm: typo that exhibits under perl <= 5.12 - t/scan.t: remove use C::Scan - use #!perl for shebang (same effect as #!/usr/bin/perl but I prefer the former) - bin/c2ast.pl: fix some POD formatting - cscan cmdline prototype - Commented C::Scan comparison in tests - too many failures - Yet POD fixes - Scan.pm: update SYNOPSIS - release trial fixes - C::Scan cmp MarpaX::Languages::C::Scan - typedefs_structs test and change following before/after fix - ISO_ANSI_C_2011/Scan.pm : missing enum in KEY2ID and fix before/after as per C::SCan - ISO_ANSI_C_2011/Scan.pm: POD fix - ISO_ANSI_C_2011/Scan: POD fixes - vdecl_hash test - vdecls test - typedef_texts and typedefs_maybe tests - ISO_ANSI_C_2011/Scan: sort explicitely when output is a map on hash result - scan.t: typedef_hash test - scan.t: t+ - parsed_fdecls test - ISO_ANSI_C_2011/Scan.pm: Fix bug in _analyseDirectAbstractDeclarator, missing checks in _prependRcp and _appendRcp - ISO_ANSI_C_2011/Scan.pm: Fix POD and 'ty' in parsed_fdecls in case of a function - ISO_ANSI_C_2011/Scan.pm: Fixed PURGE_IDX value, removed unused _copyRcp - C::Scan t+ - C::Scan integration: t+ - use Pod::Usage - c2ast.pl: say that unknown options are sent to cpp - import C::Scan-like module - AST.pm: Initial line number should be 1 instead of 0 - c2ast.pl: move File::Spec->canonpath at a better place - c2ast.pl: use File::Spec->canonpath before file comparison - comment #7 - Grammar/ISO_ANSI_C_2011.pm: Added missing priority for IDENTIFIER_UNAMBIGUOUS - bin/c2ast.pl: typo in usage - t/gcc_extension.t: tests - ISO_ANSI_C_2011.pm: restored (gccExtension) rhs in specifiers declarations - ISO_ANSI_C_2011.pm: moved misplaced (gccExtension) rhs - Fixed reference data - Remove unused event - Runtime optimization - Remove usage of clone - Fix show source when failure is on paused lexeme - use Clone instead of Storable - Removed unused import - runtime optimization - renamed cached ncb from _ncb to _cacheNcb - Avoid one internal match - Cases where IDENTIFIER is not ambiguous - Modifications as per yafce - runtime optimizations - MSVS's .type could eat C lexemes DOT and 'type' - Back to version with GCC extension in the grammar - Fix errors let by previous commit - Discard GCC __extension__ - Removed unused event - More GCC asm tests - New reference data - Removed gccEmptyRule, Support of GCC asm goto - Newline stuff (Marpa i.e. unicode v.s. only \n) - Work on newline - Work on typedef priority - Removed ASM pause before preparation - GCC_ASM token can also be "asm" - New version of reference data - Support of binary constants (GCC extension) - __asm G1 preparation - _doPauseAfterLexeme renamed to ->doPauseBefore - replaced by - GCC __extension__ ony once for expression - GCC __extension__ cannot be in :discard - :discard of __extension (GCC) - :discard of GCC __attribute__ - renamed - Move GCC __attribute__ to :discard - Added missing MSVS __thiscall and __clrcall to function modifier - Move MSVS's __inline and __forceinline into generic INLINE lexeme - MSVS __declspec :discard test - Move __declspec to :discard - Try to make grammer more readable (2) - Try to make grammer more readable - Add missing MSVS declspec modifiers - Renamed t/discard_pragma.t to t/discard_MSVS_pragma.t - Remove logging - __pragma vtordisp - __pragma strict_gs_check - __pragma setlocale - __pragma section - __pragma runtime_checks - __pragma region/endregion - __pragma pop_macro/push_macro - __pragma pointers_to_members - __pragma pack - __pragma optimize - __pragma once - __pragma message - __pragma managed/unmanaged - __pragma make_public - __pragma loop - __pragma intrinsic - __pragma inline_recursion - __pragma inline_depth - __pragma include_alias - __pragma hdrstop - __pragma function - __pragma fp_contract - __pragma float_control - __pragma fenv_access - __pragma detect_mismatch - __pragma deprecated - __pragma conform - __pragma component - __pragma comment - bss_seg, code_seg, const_seg and data_seg share the same syntax - __pragma bss_seg fixes, add __pragma check_stack - test pragma bss_seg - pragma bss_seg - add comments - pragma warning fix - pragma test - pragma fix - Missing statement in pragma push - __declspec(deprecated) fix and __pragma alloc_text, auto_inline, warning discard - Support of logInfo __ALL__ continued - Fix reference data - __ALL__ special lexeme survey support, MSVS fixes - Document __ALL__ --lexeme value - Associate user-data to typedef and enum - new function startAndLength - deref nothing, revisit few sequences - Return true is something found - Push dirty files correctly - typedefPerScope and enumAnyScope accessors - scope object accessor - Fix default callback value - Better comment - Fix pod - v0.19 - Call log only when its level is ok - Remove useless commented block - Remove non-needed events - Tiny optimization - v0.18 - c2ast cc replacement example - stack based version as per jeffreykegler - Tiny optimisations - Tiny optimisation - --logstderr option - Fix doc - Remove non-needed use Config - Promote STRING_LITERAL_UNIT as lexeme - Remember logInfo parameter so that we do not log more than was it requested - Fix logInfo parameter - Trying to fix Changes content, some dirty things will lay out forever it seems - v0.17 - c2ast.pl: typo in regexp - v0.16 - Optimisations (ter) - v0.15 - Lasy commit just to have git cached connection for dzil release - v0.14 - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Doc update - Optimisations [Jeffrey Kegler ] - Revise --cppfile help [jddurand ] - ISO_ANSI_C_2011/Scan.pm: _classifyNode: do not rely on node adress when eating nodes - bin/cdecl: use IPC::Cmd for portability until I find another way 0.46 2017-02-11T10:28:34Z [Ben Bullock ] - indent the heredocument part of the code correctly [Ivan Baidakou ] - Fix issue with shared dir [Jean-Damien Durand ] - csl.xsl: do not take parameterDeclaration by default - csl: recurse number - csl: added missing specifierQualifierList - csl: dev+ - hsl: dev+ - perl5.xsl: dev+ - xslt/perl5.xsl: dev+ - ISO_ANSI_C_2011/Scan.pm: export of xslt() and content() methods - bin/cscan: POD fix - ISO_ANSI_C_2011/Scan.pm: fix usage of temp filehandle - ISO_ANSI_C_2011/Scan.pm: switch to the more portable IO::CaptureOutput module - Grammar/ISO_ANSI_C_2011.pm: Removed non-needed (seems to me) MSVS___C_ASSERT, added more MSVS compatibility stuff - perlcritic - perlcritic.rc: allow_includes - bin/c2ast: remove mention of cpretty - xpath/declaration2declarator.xpath: unused - t/scan.t: handle different cpp behaviours v.s. space - bin/cscan: --lazy, --typedef and --enum options - bin/c2ast: Removed unnecessary use File::ShareDir::ProjectDistDir - bin/c2ast: Removed all experimental stuff with Template - Impl/Logger.pm: github issue #9 with latest Log::Any - bin/cdecl: move print of STDOUT/STDERR before the exit - bin/cscan: enumType default is int - bin/cscan: better handling of C::Scan returned object type - replae method: dev+ - Scan/Actions.pm: fix very last action - AST/Util.pm: fix POD error - In nocpp init phase, fix read of buffer - ISO_ANSI_C_2011/Scan.pm: nocpp option, pass other options as-is to AST->new(), do not call all methods systematically - Grammar/ISO_ANSI_C_2011.pm: Fixed an error in labeledStatement introduced when adding gcc extension case A ... B - bin/cscan: show that file argument is optional in the help - bin/cdecl: wrapper around bin/cscan - bin/cscan: automatic - for last argument if nothing left and no --in option, mention cdecl in the help - cdecl test suite - ISO_ANSI_C_2011/Scan.pm: _readFunctionArgs() should always return $last node - cdecl: _readToId() need sometimes to distinguish stack up to the first declarator and later - bin/cscan: fix test of filename v.s. filesystem case tolerance - bin/cscan: fix default --filter option value - ISO_ANSI_C_2011/Scan.pm: fix eventual crash with fc() - --filter default option value is basename of last argument - xpath/enumerators.xpath: list of all enumerators - cdecl: enum support - bin/cscan: --enumType option - cdecl: struct fixes - ISO_ANSI_C_2011/Scan.pm: dev+ on embedded definitions - almost done -; - cdecl: reduction - xpath/missingIdentifier.xpath: xpath fix - Grammar/ISO_ANSI_C_2011.pm: unhide single SEMICOLON lexeme in case of empty declaration - Scan/Actions.pm: getRuleDescription() method - missingIdentifier: better solution using xpath, IMHO -; - ISO_ANSI_C_2011/Scan.pm: fake identifiers dev+ - xpath/missingIdentifier.xpath: fake identifiers dev+ - ISO_ANSI_C_2011/Scan.pm: log improvement - ISO_ANSI_C_2011/Scan.pm: ellipsis and comma fixes - ISO_ANSI_C_2011/Scan.pm: restoring commas dev+ - xpath/missingComma.xpath: xpath to recover commas removed by Marpa's separator keyword: cdecl relies on it - ISO_ANSI_C_2011/Scan.pm: revert last thingy - solution is deeper - ISO_ANSI_C_2011/Scan.pm: cdecl ellipsis fix - ISO_ANSI_C_2011/Scan.pm: minor typos fixes - ISO_ANSI_C_2011/Scan.pm: cdecl dev+ - bin/cscan: add log options and support of - - Scan/Actions.pm: removed unused "use" - bin/cdecl: dev+ - bin/cdecl: logging stuff - bin/cdecl: --input argument - bin/cdecl: POD fixes - dev+ - xslt/perl5: dev+ - ISO_ANSI_C_2011/Scan.pm: _getNodeFile becomes back _pushNodeFile and can automatically set the file attribute - ISO_ANSI_C_2011/Scan.pm: renamed _pushNodeFile to _getNodeFile - ISO_ANSI_C_2011/Scan.pm: _pushNodeFile fix - bin/c2bind: log as info instead of trace sometimes - bin/c2bind: fix POD - bin/c2bind: revival - dev+: back to TT - bin/c2ast: dev+ on elements values - bin/c2ast: dev+ on xslt dependencies - bin/c2ast: work on paths for xslt - xpath/topDeclarations.xpath: needed for C::Scan - bin/c2ast: dev+ for bindings - Grammar/ISO_ANSI_C_2011.pm: add name for lexeme default value - impact on test suite - Data/Find.pm: Add endOfElement callback - Grammar/ISO_ANSI_C_2011.pm: add name for lexeme default value - bin/c2ast: reorg of used modules + Template preparation - ISO_ANSI_C_2011/Scan.pm: say which xpath is used + topDeclarations file attribute - bin/cscan: mention topDeclarations - t/complex_declarations.t: more complex declaration - Grammar/ISO_ANSI_C_2011.pm: rename gccArrayTypeModifierList to typeQualifierlist - t/complex_declarations.t: who knows - bin/c2bind: fix @ARGV a-la cscan - bin/c2bind: fix a comment - bin/c2bind prototype - bin/cscan: fix help - cosmetics - fdecls fixes - s/scan.t: typedef_structs fixes - ISO_ANSI_C_2011/Scan.pm: typedef addons - ISO_ANSI_C_2011/Scan.pm: vdecl addons - ISO_ANSI_C_2011/Scan.pm: start adding file information - ISO_ANSI_C_2011/Scan.pm: macros revisit - ISO_ANSI_C_2011/Scan.pm: fix modification of non-creatable array value attempted, subscript -1 - Getting rid of XML::Simple, finally - AST/Util.pm: fix line and column count - cscan: prepare for supression of XML::Simple - cscan: restore some xml behaviour - Removed shared xsd/cscan.xsd - use File::ShareDir::ProjectDistDir - bin/cscan: Rephrasing a bit in the POD - bin/cscan: Removed unused asHash option - Method astToString and cscan - ISO_ANSI_C_2011/Scan.pm: removed a print to STDERR - Grammar/ISO_ANSI_C_2011.pm: careful use of separator v.s. proper - typedef_texts a-la xpath - typedef_hash a-la xpath - share/xpath/xsd2fdecls.xpath: exclude path having structDeclarationList from fdecls candidates - share/xpath/xsd2fdecls.xpath: exclude TYPEDEF from fdecls candidates - Move to a correct solution and process the tree using XML::LibXML (until a Marpa XML parser -;) - Grammar/ISO_ANSI_C_2011.pm: forget around structContext internal rule in the value - ISO_ANSI_C_2011/Scan.pm: prepare for use of Scan/Actions.pm - Grammar/ISO_ANSI_C_2011.pm: use semantics_package instead of obsolete action_object - Scan/Actions.pm: specific Scan actions - C/AST.pm: actionObject, nonTerminalSemantic and terminalSemantic arguments to grammar - Grammar/ISO_ANSI_C_2011.pm: added configurable action object, reworked internal variable names - Grammar/ISO_ANSI_C_2011.pm: added configurable non-terminal and terminal semantic actions - work on cscan.xsd - work on _pushRcp - share/xsd/cscan.xsd - merge conflict - ISO_ANSI_C_2011/Scan.pm: typedefs_structs fix in case of opaque struct forward declaration - Grammar/ISO_ANSI_C_2011/Scan.pm: fix typedef_structs - Grammar/ISO_ANSI_C_2011.pm: allow empty externalDeclaration - Grammar/ISO_ANSI_C_2011.pm: allow no translation unit - ISO_ANSI_C_2011/Scan.pm: cleaned bloated _buildContext() - xslt: dev+ - ISO_ANSI_C_2011/Scan.pm: fix undef args - Grammar/ISO_ANSI_C_2011.pm: Support of GCC case ranges - ISO_ANSI_C_2011: Support of GCC escape ESC character - ISO_ANSI_C_2011/Scan.pm: list fixes - t/struct.t: add a function declaration in struct - Callback/Events.pm: force struct counter to have a persistence level to "level", add these counters to parameterDeclarationCheck - Callback/Events.pm: added missing counters in topic data, that caused parse table to be processed even in struct context - t/struct.t: renamed misleading identifier "free" to "this" - t/struct.t: case that failed with 0.36-TRIAL - t/obscure_typedef_*style.t : change comment - bug fix with parameter not obscuring typedef - bin/c2ast: missing --trace option - rulesByDepth: sort by ruleId eventually - ruleByDepth: use rule_name and put more info the result - use Marpa::R2 2.081001 - rulesByDepth - POD update - bin/c2ast: Mention '-' for STDIN usage in the POD and fix log info about it - bin/c2ast: Support STDIN, loglevel aliases on the command-line, optional start (dev+), add INFO level logging to bin/c2ast - optional :start, dev+ - AST/Impl.pm: use Marpa::R2 2.080000 - ISO_ANSI_C_2011/Scan.pm: ft can be '0', so use // instead of || - Test suite and CPP different behaviour v.s. OS - bin/c2ast: --lazy, --typedef, --enum and --nocpp options - AST.pm: mod POD for lazy mode - AST.pm: even in lazy mode we can use typedef/enum helpers - AST.pm: type, enum and lazy options support. Preparation for start option support - AST/impl.pm: added lexeme_alternative() and lexeme_complete() - bin/*: say that filename must be the last argument when using unknown option(s) - Optimization bis - Global optimization - Callback/Events.pm : optimization - t\delayed_directDeclaratorIdentifier.t: more tests - Grammar/ISO_ANSI_C_2011.pm: need for a special lexeme in compoundStatementReenterScope - Scope management: delay flag should be per scope, closing a scope should recursively its parent if it is marked delayed - Callback/Events.pm: delayed directDeclaratorIdentifier test - Callback/Events.pm: fixed a vicious case where directDeclaratorIdentifier is not yet propagated into declarationCheckinitDeclaratorList - Removed unwanted file from previous commit - bin/c2ast: fix pod2usage call - bin/cscan: pass through of arguments, fix POD output - Grammar/ISO_ANSI_C_2011.pm: unmask gccExtension - ASM.pm: added a NOTES section - Removed work files - t/*.t: alwys call value() - Opaque ASM support for everything not GCC inline ASM - AST/Util.pm: force non true space to a true space for error reporting - AST/Util.pm: Fixed $log->fatalf() arguments - MASM: dev+ - work/MSASM2.pl: dev+ - work/MSASM.bnf: fixed end of buffer detection + use forgiving - work/MSASM.bnf: add end of buffer to endOfLine - work/MSASM.bnf: dev+ - Revert "work/MSASM.bnf: dev+" - work/MSASM.bnf: :discard rule dev+ - MSASM.bnf: dev+ - Impl.pm: Bump Marpa::R2 dependency to version 2.078000 - Grammar/ISO_ANSI_C_2011.pm: use insentitive lexemes for MASM - AST.pm: Reduce the number of calls to value() - dist.ini: Move [OSPrereqs / MSWin32] after [MakeMaker] - Grammar/ISO_ANSI_C_2011.pm: ambiguity with msvsAsmType - ISO_ANSI_C_2011/Scan.pm: Environment variables support for cpprun and cppflags, Shell quoting when executing the preprocessor - dist.ini: Win32::ShellQuote on MSWin32 - examples/h2xs.PL : Marpa aware version - ISO_ANSI_C_2011/Scan.pm: more protections - ISO_ANSI_C_2011/Scan.pm: parsed_fdecls is not interested by typedef'ed functions declarations, prevent more undefined to be inserted - bin/cscan: fixed mod example, "mytype" should read "double" - ISO_ANSI_C_2011/Scan.pm: mod is setted via an appended, its separator is empty - Removed unused blog file and dir - ISO_ANSI_C_2011/Scan.pm: no splice if not necessary, exhibits a test failure under perl <= 5.14 - bin/cscan: --in option - bin/cscan: --out and --err options, yet another --xpath example - bin/cscan: fix $xml usage confusion in source - bin/cscan: revisited example to find declared strings - bin/cscan: example for find declared strings - bin/cscan: say that get method are for C::Scan like methods - bin/cscan: removed a debugging print STDERR - bin/cscan: say in the abstract this is a C::Scan alternative - bin/cscan: no critic on the eval (bis) - bin/cscan: no critic on the eval - bin/c2ast: perlcritic - c2ast.pl -> c2ast - say that c2ast.pl is now c2ast - bin/cscan: more examples with --cppflags - bin/cscan: another example taking about inner anonymous types - bin/cscan : implementation of --xml and --xpath options - ISO_ANSI_C_2011/Scan: fix calculation of line number - t/scan.t: skip file/line information in tests dev+ - ISO_ANSI_C_2011/Scan.pm: line calculation dev+ - ISO_ANSI_C_2011.pm: should be loaded once - bin/scan: xpath preparation - ISO_ANSI_C_2011/Scan: function type is not inherited - bin/cscan: generic get argument - ISO_ANSI_C_2011/Scan.pm: original filename processing fix - bin/cscan : a very special replacement for POD not generated at run time - ISO_ANSI_C_2011/Scan.pm: perlcritic on $_ - t/scan.t: fix following removal of use C::Scan - ISO_ANSI_C_2011/Scan.pm: typo that exhibits under perl <= 5.12 - t/scan.t: remove use C::Scan - use #!perl for shebang (same effect as #!/usr/bin/perl but I prefer the former) - bin/c2ast.pl: fix some POD formatting - cscan cmdline prototype - Commented C::Scan comparison in tests - too many failures - Yet POD fixes - Scan.pm: update SYNOPSIS - release trial fixes - C::Scan cmp MarpaX::Languages::C::Scan - typedefs_structs test and change following before/after fix - ISO_ANSI_C_2011/Scan.pm : missing enum in KEY2ID and fix before/after as per C::SCan - ISO_ANSI_C_2011/Scan.pm: POD fix - ISO_ANSI_C_2011/Scan: POD fixes - vdecl_hash test - vdecls test - typedef_texts and typedefs_maybe tests - ISO_ANSI_C_2011/Scan: sort explicitely when output is a map on hash result - scan.t: typedef_hash test - scan.t: t+ - parsed_fdecls test - ISO_ANSI_C_2011/Scan.pm: Fix bug in _analyseDirectAbstractDeclarator, missing checks in _prependRcp and _appendRcp - ISO_ANSI_C_2011/Scan.pm: Fix POD and 'ty' in parsed_fdecls in case of a function - ISO_ANSI_C_2011/Scan.pm: Fixed PURGE_IDX value, removed unused _copyRcp - C::Scan t+ - C::Scan integration: t+ - use Pod::Usage - c2ast.pl: say that unknown options are sent to cpp - import C::Scan-like module - AST.pm: Initial line number should be 1 instead of 0 - c2ast.pl: move File::Spec->canonpath at a better place - c2ast.pl: use File::Spec->canonpath before file comparison - comment #7 - Grammar/ISO_ANSI_C_2011.pm: Added missing priority for IDENTIFIER_UNAMBIGUOUS - bin/c2ast.pl: typo in usage - t/gcc_extension.t: tests - ISO_ANSI_C_2011.pm: restored (gccExtension) rhs in specifiers declarations - ISO_ANSI_C_2011.pm: moved misplaced (gccExtension) rhs - Fixed reference data - Remove unused event - Runtime optimization - Remove usage of clone - Fix show source when failure is on paused lexeme - use Clone instead of Storable - Removed unused import - runtime optimization - renamed cached ncb from _ncb to _cacheNcb - Avoid one internal match - Cases where IDENTIFIER is not ambiguous - Modifications as per yafce - runtime optimizations - MSVS's .type could eat C lexemes DOT and 'type' - Back to version with GCC extension in the grammar - Fix errors let by previous commit - Discard GCC __extension__ - Removed unused event - More GCC asm tests - New reference data - Removed gccEmptyRule, Support of GCC asm goto - Newline stuff (Marpa i.e. unicode v.s. only \n) - Work on newline - Work on typedef priority - Removed ASM pause before preparation - GCC_ASM token can also be "asm" - New version of reference data - Support of binary constants (GCC extension) - __asm G1 preparation - _doPauseAfterLexeme renamed to ->doPauseBefore - replaced by - GCC __extension__ ony once for expression - GCC __extension__ cannot be in :discard - :discard of __extension (GCC) - :discard of GCC __attribute__ - renamed - Move GCC __attribute__ to :discard - Added missing MSVS __thiscall and __clrcall to function modifier - Move MSVS's __inline and __forceinline into generic INLINE lexeme - MSVS __declspec :discard test - Move __declspec to :discard - Try to make grammer more readable (2) - Try to make grammer more readable - Add missing MSVS declspec modifiers - Renamed t/discard_pragma.t to t/discard_MSVS_pragma.t - Remove logging - __pragma vtordisp - __pragma strict_gs_check - __pragma setlocale - __pragma section - __pragma runtime_checks - __pragma region/endregion - __pragma pop_macro/push_macro - __pragma pointers_to_members - __pragma pack - __pragma optimize - __pragma once - __pragma message - __pragma managed/unmanaged - __pragma make_public - __pragma loop - __pragma intrinsic - __pragma inline_recursion - __pragma inline_depth - __pragma include_alias - __pragma hdrstop - __pragma function - __pragma fp_contract - __pragma float_control - __pragma fenv_access - __pragma detect_mismatch - __pragma deprecated - __pragma conform - __pragma component - __pragma comment - bss_seg, code_seg, const_seg and data_seg share the same syntax - __pragma bss_seg fixes, add __pragma check_stack - test pragma bss_seg - pragma bss_seg - add comments - pragma warning fix - pragma test - pragma fix - Missing statement in pragma push - __declspec(deprecated) fix and __pragma alloc_text, auto_inline, warning discard - Support of logInfo __ALL__ continued - Fix reference data - __ALL__ special lexeme survey support, MSVS fixes - Document __ALL__ --lexeme value - Associate user-data to typedef and enum - new function startAndLength - deref nothing, revisit few sequences - Return true is something found - Push dirty files correctly - typedefPerScope and enumAnyScope accessors - scope object accessor - Fix default callback value - Better comment - Fix pod - v0.19 - Call log only when its level is ok - Remove useless commented block - Remove non-needed events - Tiny optimization - v0.18 - c2ast cc replacement example - stack based version as per jeffreykegler - Tiny optimisations - Tiny optimisation - --logstderr option - Fix doc - Remove non-needed use Config - Promote STRING_LITERAL_UNIT as lexeme - Remember logInfo parameter so that we do not log more than was it requested - Fix logInfo parameter - Trying to fix Changes content, some dirty things will lay out forever it seems - v0.17 - c2ast.pl: typo in regexp - v0.16 - Optimisations (ter) - v0.15 - Lasy commit just to have git cached connection for dzil release - v0.14 - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Doc update - Optimisations [Jeffrey Kegler ] - Revise --cppfile help [jddurand ] - ISO_ANSI_C_2011/Scan.pm: _classifyNode: do not rely on node adress when eating nodes - bin/cdecl: use IPC::Cmd for portability until I find another way 0.45 2015-01-28T21:15:47Z [Ben Bullock ] - indent the heredocument part of the code correctly [Ivan Baidakou ] - Fix issue with shared dir [Jean-Damien Durand ] - perlcritic - perlcritic.rc: allow_includes - bin/c2ast: remove mention of cpretty - xpath/declaration2declarator.xpath: unused - t/scan.t: handle different cpp behaviours v.s. space - bin/cscan: --lazy, --typedef and --enum options - bin/c2ast: Removed unnecessary use File::ShareDir::ProjectDistDir - bin/c2ast: Removed all experimental stuff with Template - Impl/Logger.pm: github issue #9 with latest Log::Any - bin/cdecl: move print of STDOUT/STDERR before the exit - bin/cscan: enumType default is int - bin/cscan: better handling of C::Scan returned object type - replae method: dev+ - Scan/Actions.pm: fix very last action - AST/Util.pm: fix POD error - In nocpp init phase, fix read of buffer - ISO_ANSI_C_2011/Scan.pm: nocpp option, pass other options as-is to AST->new(), do not call all methods systematically - Grammar/ISO_ANSI_C_2011.pm: Fixed an error in labeledStatement introduced when adding gcc extension case A ... B - bin/cscan: show that file argument is optional in the help - bin/cdecl: wrapper around bin/cscan - bin/cscan: automatic - for last argument if nothing left and no --in option, mention cdecl in the help - cdecl test suite - ISO_ANSI_C_2011/Scan.pm: _readFunctionArgs() should always return $last node - cdecl: _readToId() need sometimes to distinguish stack up to the first declarator and later - bin/cscan: fix test of filename v.s. filesystem case tolerance - bin/cscan: fix default --filter option value - ISO_ANSI_C_2011/Scan.pm: fix eventual crash with fc() - --filter default option value is basename of last argument - xpath/enumerators.xpath: list of all enumerators - cdecl: enum support - bin/cscan: --enumType option - cdecl: struct fixes - ISO_ANSI_C_2011/Scan.pm: dev+ on embedded definitions - almost done -; - cdecl: reduction - xpath/missingIdentifier.xpath: xpath fix - Grammar/ISO_ANSI_C_2011.pm: unhide single SEMICOLON lexeme in case of empty declaration - Scan/Actions.pm: getRuleDescription() method - missingIdentifier: better solution using xpath, IMHO -; - ISO_ANSI_C_2011/Scan.pm: fake identifiers dev+ - xpath/missingIdentifier.xpath: fake identifiers dev+ - ISO_ANSI_C_2011/Scan.pm: log improvement - ISO_ANSI_C_2011/Scan.pm: ellipsis and comma fixes - ISO_ANSI_C_2011/Scan.pm: restoring commas dev+ - xpath/missingComma.xpath: xpath to recover commas removed by Marpa's separator keyword: cdecl relies on it - ISO_ANSI_C_2011/Scan.pm: revert last thingy - solution is deeper - ISO_ANSI_C_2011/Scan.pm: cdecl ellipsis fix - ISO_ANSI_C_2011/Scan.pm: minor typos fixes - ISO_ANSI_C_2011/Scan.pm: cdecl dev+ - bin/cscan: add log options and support of - - Scan/Actions.pm: removed unused "use" - bin/cdecl: dev+ - bin/cdecl: logging stuff - bin/cdecl: --input argument - bin/cdecl: POD fixes - dev+ - xslt/perl5: dev+ - ISO_ANSI_C_2011/Scan.pm: _getNodeFile becomes back _pushNodeFile and can automatically set the file attribute - ISO_ANSI_C_2011/Scan.pm: renamed _pushNodeFile to _getNodeFile - ISO_ANSI_C_2011/Scan.pm: _pushNodeFile fix - bin/c2bind: log as info instead of trace sometimes - bin/c2bind: fix POD - bin/c2bind: revival - dev+: back to TT - bin/c2ast: dev+ on elements values - bin/c2ast: dev+ on xslt dependencies - bin/c2ast: work on paths for xslt - xpath/topDeclarations.xpath: needed for C::Scan - bin/c2ast: dev+ for bindings - Grammar/ISO_ANSI_C_2011.pm: add name for lexeme default value - impact on test suite - Data/Find.pm: Add endOfElement callback - Grammar/ISO_ANSI_C_2011.pm: add name for lexeme default value - bin/c2ast: reorg of used modules + Template preparation - ISO_ANSI_C_2011/Scan.pm: say which xpath is used + topDeclarations file attribute - bin/cscan: mention topDeclarations - t/complex_declarations.t: more complex declaration - Grammar/ISO_ANSI_C_2011.pm: rename gccArrayTypeModifierList to typeQualifierlist - t/complex_declarations.t: who knows - bin/c2bind: fix @ARGV a-la cscan - bin/c2bind: fix a comment - bin/c2bind prototype - bin/cscan: fix help - cosmetics - fdecls fixes - s/scan.t: typedef_structs fixes - ISO_ANSI_C_2011/Scan.pm: typedef addons - ISO_ANSI_C_2011/Scan.pm: vdecl addons - ISO_ANSI_C_2011/Scan.pm: start adding file information - ISO_ANSI_C_2011/Scan.pm: macros revisit - ISO_ANSI_C_2011/Scan.pm: fix modification of non-creatable array value attempted, subscript -1 - Getting rid of XML::Simple, finally - AST/Util.pm: fix line and column count - cscan: prepare for supression of XML::Simple - cscan: restore some xml behaviour - Removed shared xsd/cscan.xsd - use File::ShareDir::ProjectDistDir - bin/cscan: Rephrasing a bit in the POD - bin/cscan: Removed unused asHash option - Method astToString and cscan - ISO_ANSI_C_2011/Scan.pm: removed a print to STDERR - Grammar/ISO_ANSI_C_2011.pm: careful use of separator v.s. proper - typedef_texts a-la xpath - typedef_hash a-la xpath - share/xpath/xsd2fdecls.xpath: exclude path having structDeclarationList from fdecls candidates - share/xpath/xsd2fdecls.xpath: exclude TYPEDEF from fdecls candidates - Move to a correct solution and process the tree using XML::LibXML (until a Marpa XML parser -;) - Grammar/ISO_ANSI_C_2011.pm: forget around structContext internal rule in the value - ISO_ANSI_C_2011/Scan.pm: prepare for use of Scan/Actions.pm - Grammar/ISO_ANSI_C_2011.pm: use semantics_package instead of obsolete action_object - Scan/Actions.pm: specific Scan actions - C/AST.pm: actionObject, nonTerminalSemantic and terminalSemantic arguments to grammar - Grammar/ISO_ANSI_C_2011.pm: added configurable action object, reworked internal variable names - Grammar/ISO_ANSI_C_2011.pm: added configurable non-terminal and terminal semantic actions - work on cscan.xsd - work on _pushRcp - share/xsd/cscan.xsd - merge conflict - ISO_ANSI_C_2011/Scan.pm: typedefs_structs fix in case of opaque struct forward declaration - Grammar/ISO_ANSI_C_2011/Scan.pm: fix typedef_structs - Grammar/ISO_ANSI_C_2011.pm: allow empty externalDeclaration - Grammar/ISO_ANSI_C_2011.pm: allow no translation unit - ISO_ANSI_C_2011/Scan.pm: cleaned bloated _buildContext() - xslt: dev+ - ISO_ANSI_C_2011/Scan.pm: fix undef args - Grammar/ISO_ANSI_C_2011.pm: Support of GCC case ranges - ISO_ANSI_C_2011: Support of GCC escape ESC character - ISO_ANSI_C_2011/Scan.pm: list fixes - t/struct.t: add a function declaration in struct - Callback/Events.pm: force struct counter to have a persistence level to "level", add these counters to parameterDeclarationCheck - Callback/Events.pm: added missing counters in topic data, that caused parse table to be processed even in struct context - t/struct.t: renamed misleading identifier "free" to "this" - t/struct.t: case that failed with 0.36-TRIAL - t/obscure_typedef_*style.t : change comment - bug fix with parameter not obscuring typedef - bin/c2ast: missing --trace option - rulesByDepth: sort by ruleId eventually - ruleByDepth: use rule_name and put more info the result - use Marpa::R2 2.081001 - rulesByDepth - POD update - bin/c2ast: Mention '-' for STDIN usage in the POD and fix log info about it - bin/c2ast: Support STDIN, loglevel aliases on the command-line, optional start (dev+), add INFO level logging to bin/c2ast - optional :start, dev+ - AST/Impl.pm: use Marpa::R2 2.080000 - ISO_ANSI_C_2011/Scan.pm: ft can be '0', so use // instead of || - Test suite and CPP different behaviour v.s. OS - bin/c2ast: --lazy, --typedef, --enum and --nocpp options - AST.pm: mod POD for lazy mode - AST.pm: even in lazy mode we can use typedef/enum helpers - AST.pm: type, enum and lazy options support. Preparation for start option support - AST/impl.pm: added lexeme_alternative() and lexeme_complete() - bin/*: say that filename must be the last argument when using unknown option(s) - Optimization bis - Global optimization - Callback/Events.pm : optimization - t\delayed_directDeclaratorIdentifier.t: more tests - Grammar/ISO_ANSI_C_2011.pm: need for a special lexeme in compoundStatementReenterScope - Scope management: delay flag should be per scope, closing a scope should recursively its parent if it is marked delayed - Callback/Events.pm: delayed directDeclaratorIdentifier test - Callback/Events.pm: fixed a vicious case where directDeclaratorIdentifier is not yet propagated into declarationCheckinitDeclaratorList - Removed unwanted file from previous commit - bin/c2ast: fix pod2usage call - bin/cscan: pass through of arguments, fix POD output - Grammar/ISO_ANSI_C_2011.pm: unmask gccExtension - ASM.pm: added a NOTES section - Removed work files - t/*.t: alwys call value() - Opaque ASM support for everything not GCC inline ASM - AST/Util.pm: force non true space to a true space for error reporting - AST/Util.pm: Fixed $log->fatalf() arguments - MASM: dev+ - work/MSASM2.pl: dev+ - work/MSASM.bnf: fixed end of buffer detection + use forgiving - work/MSASM.bnf: add end of buffer to endOfLine - work/MSASM.bnf: dev+ - Revert "work/MSASM.bnf: dev+" - work/MSASM.bnf: :discard rule dev+ - MSASM.bnf: dev+ - Impl.pm: Bump Marpa::R2 dependency to version 2.078000 - Grammar/ISO_ANSI_C_2011.pm: use insentitive lexemes for MASM - AST.pm: Reduce the number of calls to value() - dist.ini: Move [OSPrereqs / MSWin32] after [MakeMaker] - Grammar/ISO_ANSI_C_2011.pm: ambiguity with msvsAsmType - ISO_ANSI_C_2011/Scan.pm: Environment variables support for cpprun and cppflags, Shell quoting when executing the preprocessor - dist.ini: Win32::ShellQuote on MSWin32 - examples/h2xs.PL : Marpa aware version - ISO_ANSI_C_2011/Scan.pm: more protections - ISO_ANSI_C_2011/Scan.pm: parsed_fdecls is not interested by typedef'ed functions declarations, prevent more undefined to be inserted - bin/cscan: fixed mod example, "mytype" should read "double" - ISO_ANSI_C_2011/Scan.pm: mod is setted via an appended, its separator is empty - Removed unused blog file and dir - ISO_ANSI_C_2011/Scan.pm: no splice if not necessary, exhibits a test failure under perl <= 5.14 - bin/cscan: --in option - bin/cscan: --out and --err options, yet another --xpath example - bin/cscan: fix $xml usage confusion in source - bin/cscan: revisited example to find declared strings - bin/cscan: example for find declared strings - bin/cscan: say that get method are for C::Scan like methods - bin/cscan: removed a debugging print STDERR - bin/cscan: say in the abstract this is a C::Scan alternative - bin/cscan: no critic on the eval (bis) - bin/cscan: no critic on the eval - bin/c2ast: perlcritic - c2ast.pl -> c2ast - say that c2ast.pl is now c2ast - bin/cscan: more examples with --cppflags - bin/cscan: another example taking about inner anonymous types - bin/cscan : implementation of --xml and --xpath options - ISO_ANSI_C_2011/Scan: fix calculation of line number - t/scan.t: skip file/line information in tests dev+ - ISO_ANSI_C_2011/Scan.pm: line calculation dev+ - ISO_ANSI_C_2011.pm: should be loaded once - bin/scan: xpath preparation - ISO_ANSI_C_2011/Scan: function type is not inherited - bin/cscan: generic get argument - ISO_ANSI_C_2011/Scan.pm: original filename processing fix - bin/cscan: POD fix - bin/cscan : a very special replacement for POD not generated at run time - ISO_ANSI_C_2011/Scan.pm: perlcritic on $_ - t/scan.t: fix following removal of use C::Scan - ISO_ANSI_C_2011/Scan.pm: typo that exhibits under perl <= 5.12 - t/scan.t: remove use C::Scan - use #!perl for shebang (same effect as #!/usr/bin/perl but I prefer the former) - bin/c2ast.pl: fix some POD formatting - cscan cmdline prototype - Commented C::Scan comparison in tests - too many failures - Yet POD fixes - Scan.pm: update SYNOPSIS - release trial fixes - C::Scan cmp MarpaX::Languages::C::Scan - typedefs_structs test and change following before/after fix - ISO_ANSI_C_2011/Scan.pm : missing enum in KEY2ID and fix before/after as per C::SCan - ISO_ANSI_C_2011/Scan.pm: POD fix - ISO_ANSI_C_2011/Scan: POD fixes - vdecl_hash test - vdecls test - typedef_texts and typedefs_maybe tests - ISO_ANSI_C_2011/Scan: sort explicitely when output is a map on hash result - scan.t: typedef_hash test - scan.t: t+ - parsed_fdecls test - ISO_ANSI_C_2011/Scan.pm: Fix bug in _analyseDirectAbstractDeclarator, missing checks in _prependRcp and _appendRcp - ISO_ANSI_C_2011/Scan.pm: Fix POD and 'ty' in parsed_fdecls in case of a function - ISO_ANSI_C_2011/Scan.pm: Fixed PURGE_IDX value, removed unused _copyRcp - C::Scan t+ - C::Scan integration: t+ - use Pod::Usage - c2ast.pl: say that unknown options are sent to cpp - import C::Scan-like module - AST.pm: Initial line number should be 1 instead of 0 - c2ast.pl: move File::Spec->canonpath at a better place - c2ast.pl: use File::Spec->canonpath before file comparison - comment #7 - Grammar/ISO_ANSI_C_2011.pm: Added missing priority for IDENTIFIER_UNAMBIGUOUS - bin/c2ast.pl: typo in usage - t/gcc_extension.t: tests - ISO_ANSI_C_2011.pm: restored (gccExtension) rhs in specifiers declarations - ISO_ANSI_C_2011.pm: moved misplaced (gccExtension) rhs - Fixed reference data - Remove unused event - Runtime optimization - Remove usage of clone - Fix show source when failure is on paused lexeme - use Clone instead of Storable - Removed unused import - runtime optimization - renamed cached ncb from _ncb to _cacheNcb - Avoid one internal match - Cases where IDENTIFIER is not ambiguous - Modifications as per yafce - runtime optimizations - MSVS's .type could eat C lexemes DOT and 'type' - Back to version with GCC extension in the grammar - Fix errors let by previous commit - Discard GCC __extension__ - Removed unused event - More GCC asm tests - New reference data - Removed gccEmptyRule, Support of GCC asm goto - Newline stuff (Marpa i.e. unicode v.s. only \n) - Work on newline - Work on typedef priority - Removed ASM pause before preparation - GCC_ASM token can also be "asm" - New version of reference data - Support of binary constants (GCC extension) - __asm G1 preparation - _doPauseAfterLexeme renamed to ->doPauseBefore - replaced by - GCC __extension__ ony once for expression - GCC __extension__ cannot be in :discard - :discard of __extension (GCC) - :discard of GCC __attribute__ - renamed - Move GCC __attribute__ to :discard - Added missing MSVS __thiscall and __clrcall to function modifier - Move MSVS's __inline and __forceinline into generic INLINE lexeme - MSVS __declspec :discard test - Move __declspec to :discard - Try to make grammer more readable (2) - Try to make grammer more readable - Add missing MSVS declspec modifiers - Renamed t/discard_pragma.t to t/discard_MSVS_pragma.t - Remove logging - __pragma vtordisp - __pragma strict_gs_check - __pragma setlocale - __pragma section - __pragma runtime_checks - __pragma region/endregion - __pragma pop_macro/push_macro - __pragma pointers_to_members - __pragma pack - __pragma optimize - __pragma once - __pragma message - __pragma managed/unmanaged - __pragma make_public - __pragma loop - __pragma intrinsic - __pragma inline_recursion - __pragma inline_depth - __pragma include_alias - __pragma hdrstop - __pragma function - __pragma fp_contract - __pragma float_control - __pragma fenv_access - __pragma detect_mismatch - __pragma deprecated - __pragma conform - __pragma component - __pragma comment - bss_seg, code_seg, const_seg and data_seg share the same syntax - __pragma bss_seg fixes, add __pragma check_stack - test pragma bss_seg - pragma bss_seg - add comments - pragma warning fix - pragma test - pragma fix - Missing statement in pragma push - __declspec(deprecated) fix and __pragma alloc_text, auto_inline, warning discard - Support of logInfo __ALL__ continued - Fix reference data - __ALL__ special lexeme survey support, MSVS fixes - Document __ALL__ --lexeme value - Associate user-data to typedef and enum - new function startAndLength - deref nothing, revisit few sequences - Return true is something found - Push dirty files correctly - typedefPerScope and enumAnyScope accessors - scope object accessor - Fix default callback value - Better comment - Fix pod - v0.19 - Call log only when its level is ok - Remove useless commented block - Remove non-needed events - Tiny optimization - v0.18 - c2ast cc replacement example - stack based version as per jeffreykegler - Tiny optimisations - Tiny optimisation - --logstderr option - Fix doc - Remove non-needed use Config - Promote STRING_LITERAL_UNIT as lexeme - Remember logInfo parameter so that we do not log more than was it requested - Fix logInfo parameter - Trying to fix Changes content, some dirty things will lay out forever it seems - v0.17 - c2ast.pl: typo in regexp - v0.16 - Optimisations (ter) - v0.15 - Lasy commit just to have git cached connection for dzil release - v0.14 - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Doc update - Optimisations [Jeffrey Kegler ] - Revise --cppfile help [jddurand ] - ISO_ANSI_C_2011/Scan.pm: _classifyNode: do not rely on node adress when eating nodes - bin/cdecl: use IPC::Cmd for portability until I find another way 0.44 2015-01-21T20:34:05Z [Jean-Damien Durand ] - t/scan.t: handle different cpp behaviours v.s. space 0.43 2015-01-19T19:48:56Z [Jean-Damien Durand ] - bin/cscan: --lazy, --typedef and --enum options - bin/c2ast: Removed unnecessary use File::ShareDir::ProjectDistDir 0.42 2015-01-07T21:00:30Z [Ivan Baidakou ] - Fix issue with shared dir [Jean-Damien Durand ] - bin/c2ast: Removed all experimental stuff with Template - Impl/Logger.pm: github issue #9 with latest Log::Any - bin/cdecl: move print of STDOUT/STDERR before the exit - bin/cscan: enumType default is int - bin/cscan: better handling of C::Scan returned object type - replae method: dev+ - Scan/Actions.pm: fix very last action - AST/Util.pm: fix POD error - In nocpp init phase, fix read of buffer - ISO_ANSI_C_2011/Scan.pm: nocpp option, pass other options as-is to AST->new(), do not call all methods systematically - Grammar/ISO_ANSI_C_2011.pm: Fixed an error in labeledStatement introduced when adding gcc extension case A ... B [jddurand ] - ISO_ANSI_C_2011/Scan.pm: _classifyNode: do not rely on node adress when eating nodes - bin/cdecl: use IPC::Cmd for portability until I find another way 0.41 2014-12-04T06:53:33Z [Jean-Damien Durand ] - bin/cscan: show that file argument is optional in the help - bin/cdecl: wrapper around bin/cscan - bin/cscan: automatic - for last argument if nothing left and no --in option, mention cdecl in the help - cdecl test suite - ISO_ANSI_C_2011/Scan.pm: _readFunctionArgs() should always return $last node - cdecl: _readToId() need sometimes to distinguish stack up to the first declarator and later - bin/cscan: fix test of filename v.s. filesystem case tolerance - bin/cscan: fix default --filter option value - ISO_ANSI_C_2011/Scan.pm: fix eventual crash with fc() - --filter default option value is basename of last argument - xpath/enumerators.xpath: list of all enumerators - cdecl: enum support - bin/cscan: --enumType option - cdecl: struct fixes - ISO_ANSI_C_2011/Scan.pm: dev+ on embedded definitions - almost done -; - cdecl: reduction - xpath/missingIdentifier.xpath: xpath fix - Grammar/ISO_ANSI_C_2011.pm: unhide single SEMICOLON lexeme in case of empty declaration - Scan/Actions.pm: getRuleDescription() method - missingIdentifier: better solution using xpath, IMHO -; - ISO_ANSI_C_2011/Scan.pm: fake identifiers dev+ - xpath/missingIdentifier.xpath: fake identifiers dev+ - ISO_ANSI_C_2011/Scan.pm: log improvement - ISO_ANSI_C_2011/Scan.pm: ellipsis and comma fixes - ISO_ANSI_C_2011/Scan.pm: restoring commas dev+ - xpath/missingComma.xpath: xpath to recover commas removed by Marpa's separator keyword: cdecl relies on it - ISO_ANSI_C_2011/Scan.pm: revert last thingy - solution is deeper - ISO_ANSI_C_2011/Scan.pm: cdecl ellipsis fix - ISO_ANSI_C_2011/Scan.pm: minor typos fixes - ISO_ANSI_C_2011/Scan.pm: cdecl dev+ - bin/cscan: add log options and support of - - Scan/Actions.pm: removed unused "use" - bin/cdecl: dev+ - bin/cdecl: logging stuff - bin/cdecl: --input argument - bin/cdecl: POD fixes - dev+ - xslt/perl5: dev+ - ISO_ANSI_C_2011/Scan.pm: _getNodeFile becomes back _pushNodeFile and can automatically set the file attribute - ISO_ANSI_C_2011/Scan.pm: renamed _pushNodeFile to _getNodeFile - ISO_ANSI_C_2011/Scan.pm: _pushNodeFile fix - bin/c2bind: log as info instead of trace sometimes - bin/c2bind: fix POD - bin/c2bind: revival - dev+: back to TT - bin/c2ast: dev+ on elements values - bin/c2ast: dev+ on xslt dependencies - bin/c2ast: work on paths for xslt - xpath/topDeclarations.xpath: needed for C::Scan - bin/c2ast: dev+ for bindings - Grammar/ISO_ANSI_C_2011.pm: add name for lexeme default value - impact on test suite - Data/Find.pm: Add endOfElement callback - Grammar/ISO_ANSI_C_2011.pm: add name for lexeme default value - bin/c2ast: reorg of used modules + Template preparation - ISO_ANSI_C_2011/Scan.pm: say which xpath is used + topDeclarations file attribute - bin/cscan: mention topDeclarations - t/complex_declarations.t: more complex declaration - Grammar/ISO_ANSI_C_2011.pm: rename gccArrayTypeModifierList to typeQualifierlist - t/complex_declarations.t: who knows - bin/c2bind: fix @ARGV a-la cscan - bin/c2bind: fix a comment - bin/c2bind prototype - bin/cscan: fix help - cosmetics - fdecls fixes - s/scan.t: typedef_structs fixes - ISO_ANSI_C_2011/Scan.pm: typedef addons - ISO_ANSI_C_2011/Scan.pm: vdecl addons - ISO_ANSI_C_2011/Scan.pm: start adding file information - ISO_ANSI_C_2011/Scan.pm: macros revisit - ISO_ANSI_C_2011/Scan.pm: fix modification of non-creatable array value attempted, subscript -1 - Getting rid of XML::Simple, finally - AST/Util.pm: fix line and column count - cscan: prepare for supression of XML::Simple - cscan: restore some xml behaviour - Removed shared xsd/cscan.xsd - use File::ShareDir::ProjectDistDir - bin/cscan: Rephrasing a bit in the POD - bin/cscan: Removed unused asHash option 0.40 2014-11-11T00:18:39Z [Jean-Damien Durand ] - Method astToString and cscan - ISO_ANSI_C_2011/Scan.pm: removed a print to STDERR - Grammar/ISO_ANSI_C_2011.pm: careful use of separator v.s. proper - dev+ - typedef_texts a-la xpath - typedef_hash a-la xpath - share/xpath/xsd2fdecls.xpath: exclude path having structDeclarationList from fdecls candidates - share/xpath/xsd2fdecls.xpath: exclude TYPEDEF from fdecls candidates - Move to a correct solution and process the tree using XML::LibXML (until a Marpa XML parser -;) - Grammar/ISO_ANSI_C_2011.pm: forget around structContext internal rule in the value - ISO_ANSI_C_2011/Scan.pm: prepare for use of Scan/Actions.pm - Grammar/ISO_ANSI_C_2011.pm: use semantics_package instead of obsolete action_object - Scan/Actions.pm: specific Scan actions - C/AST.pm: actionObject, nonTerminalSemantic and terminalSemantic arguments to grammar - Grammar/ISO_ANSI_C_2011.pm: added configurable action object, reworked internal variable names - Grammar/ISO_ANSI_C_2011.pm: added configurable non-terminal and terminal semantic actions - work on cscan.xsd - work on _pushRcp - share/xsd/cscan.xsd - merge conflict - ISO_ANSI_C_2011/Scan.pm: typedefs_structs fix in case of opaque struct forward declaration 0.39 2014-11-05T07:02:35Z [Jean-Damien Durand ] - Grammar/ISO_ANSI_C_2011/Scan.pm: fix typedef_structs - Grammar/ISO_ANSI_C_2011.pm: allow empty externalDeclaration - Grammar/ISO_ANSI_C_2011.pm: allow no translation unit - ISO_ANSI_C_2011/Scan.pm: cleaned bloated _buildContext() - xslt: dev+ - ISO_ANSI_C_2011/Scan.pm: fix undef args - Grammar/ISO_ANSI_C_2011.pm: Support of GCC case ranges - ISO_ANSI_C_2011: Support of GCC escape ESC character 0.38 2014-11-03T18:48:27Z [Jean-Damien Durand ] - ISO_ANSI_C_2011/Scan.pm: list fixes 0.37 2014-03-08T08:36:27Z [Ben Bullock ] - indent the heredocument part of the code correctly [Jean-Damien Durand ] - t/struct.t: add a function declaration in struct - Callback/Events.pm: force struct counter to have a persistence level to "level", add these counters to parameterDeclarationCheck - Callback/Events.pm: added missing counters in topic data, that caused parse table to be processed even in struct context - t/struct.t: renamed misleading identifier "free" to "this" - t/struct.t: case that failed with 0.36-TRIAL - t/obscure_typedef_*style.t : change comment - bug fix with parameter not obscuring typedef - bin/c2ast: missing --trace option - rulesByDepth: sort by ruleId eventually - ruleByDepth: use rule_name and put more info the result - use Marpa::R2 2.081001 - rulesByDepth - dev+ - POD update 0.36 2014-02-23T11:43:02Z [Jean-Damien Durand ] - bin/c2ast: Mention '-' for STDIN usage in the POD and fix log info about it - bin/c2ast: Support STDIN, loglevel aliases on the command-line, optional start (dev+), add INFO level logging to bin/c2ast - optional :start, dev+ - AST/Impl.pm: use Marpa::R2 2.080000 - ISO_ANSI_C_2011/Scan.pm: ft can be '0', so use // instead of || - Test suite and CPP different behaviour v.s. OS - bin/c2ast: --lazy, --typedef, --enum and --nocpp options - AST.pm: mod POD for lazy mode - AST.pm: even in lazy mode we can use typedef/enum helpers - AST.pm: type, enum and lazy options support. Preparation for start option support - AST/impl.pm: added lexeme_alternative() and lexeme_complete() - bin/*: say that filename must be the last argument when using unknown option(s) 0.35 2014-01-23T20:56:10Z [Jean-Damien Durand ] - Optimization bis - Global optimization - Callback/Events.pm : optimization 0.34 2014-01-22T20:20:40Z [Jean-Damien Durand ] - t\delayed_directDeclaratorIdentifier.t: more tests - Grammar/ISO_ANSI_C_2011.pm: need for a special lexeme in compoundStatementReenterScope - Scope management: delay flag should be per scope, closing a scope should recursively its parent if it is marked delayed - Callback/Events.pm: delayed directDeclaratorIdentifier test - Callback/Events.pm: fixed a vicious case where directDeclaratorIdentifier is not yet propagated into declarationCheckinitDeclaratorList - Removed unwanted file from previous commit - bin/c2ast: fix pod2usage call - bin/cscan: pass through of arguments, fix POD output - Grammar/ISO_ANSI_C_2011.pm: unmask gccExtension - ASM.pm: added a NOTES section 0.33 2014-01-20T19:52:51Z [Jean-Damien Durand ] - Removed work files - t/*.t: alwys call value() - Opaque ASM support for everything not GCC inline ASM - AST/Util.pm: force non true space to a true space for error reporting - AST/Util.pm: Fixed $log->fatalf() arguments - MASM: dev+ - work/MSASM2.pl: dev+ - work/MSASM.bnf: fixed end of buffer detection + use forgiving - work/MSASM.bnf: add end of buffer to endOfLine - work/MSASM.bnf: dev+ - Revert "work/MSASM.bnf: dev+" - work/MSASM.bnf: :discard rule dev+ - MSASM.bnf: dev+ - Impl.pm: Bump Marpa::R2 dependency to version 2.078000 - Grammar/ISO_ANSI_C_2011.pm: use insentitive lexemes for MASM - AST.pm: Reduce the number of calls to value() - dist.ini: Move [OSPrereqs / MSWin32] after [MakeMaker] - Grammar/ISO_ANSI_C_2011.pm: ambiguity with msvsAsmType - ISO_ANSI_C_2011/Scan.pm: Environment variables support for cpprun and cppflags, Shell quoting when executing the preprocessor - dist.ini: Win32::ShellQuote on MSWin32 - examples/h2xs.PL : Marpa aware version - ISO_ANSI_C_2011/Scan.pm: more protections - ISO_ANSI_C_2011/Scan.pm: parsed_fdecls is not interested by typedef'ed functions declarations, prevent more undefined to be inserted 0.32 2014-01-12T08:49:17Z [Jean-Damien Durand ] - bin/cscan: fixed mod example, "mytype" should read "double" - ISO_ANSI_C_2011/Scan.pm: mod is setted via an appended, its separator is empty - Removed unused blog file and dir 0.31 2014-01-11T20:13:08Z [Jean-Damien Durand ] - ISO_ANSI_C_2011/Scan.pm: no splice if not necessary, exhibits a test failure under perl <= 5.14 0.30 2014-01-11T17:25:42Z [Jean-Damien Durand ] - bin/cscan: --in option - bin/cscan: --out and --err options, yet another --xpath example - bin/cscan: fix $xml usage confusion in source - bin/cscan: revisited example to find declared strings - bin/cscan: example for find declared strings - bin/cscan: say that get method are for C::Scan like methods - bin/cscan: removed a debugging print STDERR - bin/cscan: say in the abstract this is a C::Scan alternative - bin/cscan: no critic on the eval (bis) - bin/cscan: no critic on the eval - bin/c2ast: perlcritic - c2ast.pl -> c2ast - say that c2ast.pl is now c2ast - bin/cscan: more examples with --cppflags - bin/cscan: another example taking about inner anonymous types - bin/cscan : implementation of --xml and --xpath options - ISO_ANSI_C_2011/Scan: fix calculation of line number - t/scan.t: skip file/line information in tests dev+ - ISO_ANSI_C_2011/Scan.pm: line calculation dev+ - ISO_ANSI_C_2011.pm: should be loaded once - bin/scan: xpath preparation - ISO_ANSI_C_2011/Scan: function type is not inherited - bin/cscan: generic get argument - ISO_ANSI_C_2011/Scan.pm: original filename processing fix - bin/cscan: POD fix - bin/cscan : a very special replacement for POD not generated at run time - ISO_ANSI_C_2011/Scan.pm: perlcritic on $_ 0.29 2014-01-07T06:59:24Z [Jean-Damien Durand ] - t/scan.t: fix following removal of use C::Scan - ISO_ANSI_C_2011/Scan.pm: typo that exhibits under perl <= 5.12 - t/scan.t: remove use C::Scan - use #!perl for shebang (same effect as #!/usr/bin/perl but I prefer the former) - bin/c2ast.pl: fix some POD formatting - cscan cmdline prototype 0.28 2014-01-07T05:25:27Z [Jean-Damien Durand ] - Commented C::Scan comparison in tests - too many failures - Yet POD fixes - Scan.pm: update SYNOPSIS 0.27 2014-01-06T19:35:31Z [Jean-Damien Durand ] - release trial fixes - C::Scan cmp MarpaX::Languages::C::Scan - typedefs_structs test and change following before/after fix - ISO_ANSI_C_2011/Scan.pm : missing enum in KEY2ID and fix before/after as per C::SCan - ISO_ANSI_C_2011/Scan.pm: POD fix - ISO_ANSI_C_2011/Scan: POD fixes - vdecl_hash test - vdecls test - typedef_texts and typedefs_maybe tests - ISO_ANSI_C_2011/Scan: sort explicitely when output is a map on hash result - scan.t: typedef_hash test - scan.t: t+ - parsed_fdecls test - ISO_ANSI_C_2011/Scan.pm: Fix bug in _analyseDirectAbstractDeclarator, missing checks in _prependRcp and _appendRcp - ISO_ANSI_C_2011/Scan.pm: Fix POD and 'ty' in parsed_fdecls in case of a function - ISO_ANSI_C_2011/Scan.pm: Fixed PURGE_IDX value, removed unused _copyRcp - C::Scan t+ - C::Scan integration: t+ - use Pod::Usage - c2ast.pl: say that unknown options are sent to cpp - import C::Scan-like module 0.26 2013-12-27T19:39:06Z [Jean-Damien Durand ] - AST.pm: Initial line number should be 1 instead of 0 - c2ast.pl: move File::Spec->canonpath at a better place - c2ast.pl: use File::Spec->canonpath before file comparison - comment #7 0.25 2013-12-25T09:33:40Z [Jean-Damien Durand ] - Grammar/ISO_ANSI_C_2011.pm: Added missing priority for IDENTIFIER_UNAMBIGUOUS 0.24 2013-12-25T06:12:47Z [Jean-Damien Durand ] - bin/c2ast.pl: typo in usage - t/gcc_extension.t: tests - ISO_ANSI_C_2011.pm: restored (gccExtension) rhs in specifiers declarations - ISO_ANSI_C_2011.pm: moved misplaced (gccExtension) rhs [Jeffrey Kegler ] - Revise --cppfile help 0.23 2013-09-25T16:45:49Z [Jean-Damien Durand ] - Fixed reference data 0.22 2013-09-24T19:49:26Z [Jean-Damien Durand ] - Remove unused event - Runtime optimization - Remove usage of clone - Fix show source when failure is on paused lexeme - use Clone instead of Storable - Removed unused import - runtime optimization - renamed cached ncb from _ncb to _cacheNcb - Avoid one internal match - Cases where IDENTIFIER is not ambiguous - Modifications as per yafce 0.21 2013-09-21T08:56:11Z [Jean-Damien Durand ] - runtime optimizations - MSVS's .type could eat C lexemes DOT and 'type' 0.20 2013-09-19T21:20:31Z [Jean-Damien Durand ] - Back to version with GCC extension in the grammar - Fix errors let by previous commit - Discard GCC __extension__ - Removed unused event - More GCC asm tests - New reference data - Removed gccEmptyRule, Support of GCC asm goto - Newline stuff (Marpa i.e. unicode v.s. only \n) - Work on newline - Work on typedef priority - Removed ASM pause before preparation - GCC_ASM token can also be "asm" - New version of reference data - Support of binary constants (GCC extension) - __asm G1 preparation - _doPauseAfterLexeme renamed to ->doPauseBefore - replaced by - GCC __extension__ ony once for expression - GCC __extension__ cannot be in :discard - :discard of __extension (GCC) - :discard of GCC __attribute__ - renamed - Move GCC __attribute__ to :discard - Added missing MSVS __thiscall and __clrcall to function modifier - Move MSVS's __inline and __forceinline into generic INLINE lexeme - MSVS __declspec :discard test - Move __declspec to :discard - Try to make grammer more readable (2) - Try to make grammer more readable - Add missing MSVS declspec modifiers - Renamed t/discard_pragma.t to t/discard_MSVS_pragma.t - Remove logging - __pragma vtordisp - __pragma strict_gs_check - __pragma setlocale - __pragma section - __pragma runtime_checks - __pragma region/endregion - __pragma pop_macro/push_macro - __pragma pointers_to_members - __pragma pack - __pragma optimize - __pragma once - __pragma message - __pragma managed/unmanaged - __pragma make_public - __pragma loop - __pragma intrinsic - __pragma inline_recursion - __pragma inline_depth - __pragma include_alias - __pragma hdrstop - __pragma function - __pragma fp_contract - __pragma float_control - __pragma fenv_access - __pragma detect_mismatch - __pragma deprecated - __pragma conform - __pragma component - __pragma comment - bss_seg, code_seg, const_seg and data_seg share the same syntax - __pragma bss_seg fixes, add __pragma check_stack - test pragma bss_seg - pragma bss_seg - add comments - pragma warning fix - pragma test - pragma fix - Missing statement in pragma push - __declspec(deprecated) fix and __pragma alloc_text, auto_inline, warning discard - Support of logInfo __ALL__ continued - Fix reference data - __ALL__ special lexeme survey support, MSVS fixes - Document __ALL__ --lexeme value - Associate user-data to typedef and enum - new function startAndLength - deref nothing, revisit few sequences - Return true is something found - Push dirty files correctly - typedefPerScope and enumAnyScope accessors - scope object accessor - Fix default callback value - Better comment - Fix pod 0.19 2013-07-30T20:41:04Z [Jean-Damien Durand ] - v0.19 - Call log only when its level is ok - Remove useless commented block - Remove non-needed events - Tiny optimization 0.18 2013-07-29T18:10:08Z [Jean-Damien Durand ] - v0.18 - c2ast cc replacement example - stack based version as per jeffreykegler - Tiny optimisations - Tiny optimisation - --logstderr option - Fix doc - Remove non-needed use Config - Promote STRING_LITERAL_UNIT as lexeme - Remember logInfo parameter so that we do not log more than was it requested - Fix logInfo parameter - Trying to fix Changes content, some dirty things will lay out forever it seems 0.17 2013-07-25T07:57:31Z [Jean-Damien Durand ] - v0.17 - c2ast.pl: typo in regexp 0.16 2013-07-24T20:51:24Z [Jean-Damien Durand ] - v0.16 - Optimisations (ter) 0.15 2013-07-24T19:07:52Z [Jean-Damien Durand ] - v0.15 - Lasy commit just to have git cached connection for dzil release 0.14 2013-07-24T19:00:43Z [Jean-Damien Durand ] - v0.14 - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - v0.13 - Revival of 'IDENTIFIER COLON initializer' old style coding, use rank to bypass gccAttributeInnerParameter generating multiple parse values - Another way to handle preprocessing - Say how many parse trees were found - Tiny protection - show context on error only if >= debug - G1 distinction between #line and #pragma directives - v0.12 - Force scanning of IDENTIFIER if --check reservedNames and no --lexeme IDENTIFIER - v0.11 - gcc asm test - gcc asm grammar fix - More about tracing - --dump and --loglevel options - Better error reporting - v0.10 - Disable [CheckExtraTests] until I fix them all - Perl::Critic - Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage - [CheckChangesHasContent] has a problem with my Changes format - use Marpa::R2 2.064000 back (indexed CPAN version) - RELEASE_TESTING=1 - use Marpa::R2 2.065000 - Leave directDeclaratorIdentifier as a possible value - Minimalist C AST targetted Data::Find - lexeme default = action => [start,length,value] - A gentle optimization - Remove log statements - Import nothing by default - Last Term::ProgressBar update if needed - Enable Log4perl and logInfo option - preprocessorDirective is introducing ambiguity - New option --progress - Support of comma ending argumentExpressionList - Check GetOptions return value - Fix file test for default behaviour - Support of #line in original .c and list of lexemes of interest - #line and #pragma as a whole big lexeme - Revert "use script directory instead of bin" - use script directory instead of bin - logInfo option and SEE ALSO section - POD update - update - dzil compliance - updated POD - Remove bin/ from ignore list - c2ast tool - MSVS annotation discard - callback option and logInfo option - Simplified - Remove any preprocessor directive - Probably the next developer release candidate! - Fix for a feature that may disappear - Correct implementation v.s. different type of pauses - A lot of gcc attribute extensions - Starting adding more gcc attribute extensions - Grr, missing GNU attribute extensions - Even closer - almost completed -; - Fix usage - Revisited namings, removed ugly object dependencies - Pod change - return if (! @terminals_expected); - Removed non needed methods - Cleanup cont'd - Moving methods to Util - Marpa-R2-2.061_002 bug fix - use Marpa::R2 2.061002 - parameterDeclaration check - to be done in post grammar - Fixes on updates and checks - Work on functionDefinition, simplified some calls - use Marpa::R2 2.061001 and its terminals_expected - functionDefinition - Work on events - functionDefinition checks - New attribute extra_description, mainly for better logging - Use explicit ($start, $length) for readibility - A little more information in the log - Removed unused methods and did few renamings - General fixes - Revisited scope management - Scope fix - Fixed deref action and do not return flags data - Protect against eventual emtpy topic data - declaration rule is now OK with events - Work on functionDefinition - Imported changes - Imported ctesk original SEC.bnf - _doDelayedExitScope called too often - Test suite fixes - syntax error, despite compilers wrongly parses it - parameter declaration and typedef - Test cases based on wikipedia - void func(x, typedef) {} - void func(typedef) {} - void func(x, typedef) {}; - void func(typedef) {}; - void typedef func() {}; - typedef void func() {}; - Scope events - remove dist.init from dirty Git::Check - use Marpa::R2 2.057006 - Events callback - A simple callback framework - use Marpa::R2 2.057005 - Changed how Scopes are detected - removing two calls to findInProgressshort()! - Fixed an in the logging - Typos - Quote of "What is the Marpa algorithm?" - Test plan - Restored TODO list - v0.09 - Back to eval Log::Log4perl because of Win32 warn - v0.08 - Ignore my MarpaX::Languages::C::AST::Expected in AutoPrereqs - Enable UploadToCPAN - Back to 95% of DAGOLDEN great dist.ini - oups back - Closer to DAGOLDEN - Removed non needed dzil.sh, this also allow to have a clean tag, but Dist::Zilla perturbed a bit the followup of tag v.s. official releases - Uncommentedd UploadToCPAN - Remove dist.ini from allow_dirty, Added back commented [FakeRelease] - New CPAN release of MarpaX-Languages-C-AST - v0.04 - Added META.json and README.pod to .gitignore - Add .build to .gitignore - Dist:Zilla version - Removed - Removed README boilerplate - Remove given/when: warnings on perl5.18 - Better readibility - v0.03 - Synopsis made readable - Move atomic stuff to example since the grammar does not have pb with it (historically c2011 draft had an ambiguity between atomic as type specifier and type qualifier) - Updated test file to follow logging that now have a context free string - Use given/when, log the context (lexeme, event) - MIN_PERL_VERSION => '5.10.0' - Fix under taint mode - Preview of changes for 0.03 - My own version of changes.t - Cosmetic reorder in _doLexeme() - Revisited lexeme and events processing - Again manifest.t - Fixed MANIFEST - Back to quasi-original manifest.t - TODO list, currently contains only PERHAPS items - Revisited log mechanism and inspectG1 - Better log - examples/synopsis.pl - Variable name convention fix - Correct parameters to findInProgress() - No (not-needed) $lhs nor [@rhs] in $matchesp - findInProgressShort and g1Describe helper methods - Return list of [$ruleId, $dotPosition, $origin, $lhs, [@rhs]] that matched - Force Marpa::R2 in addition to the test in Makefile.PL - Fix rc=1 if anything was requested /and/ matched - Typo in a comment - Removed perl version dependency - Removed duplicate BUILD_REQUIRES - Do a PREREQ_PM - Removed non-needed Module::Info requirement - Removed use perl 5.006 - Added use warnings - Updated methods docs - Fixed typos in the doc - Marpa::R2 2.056000 official release dependency - Add ruleid and origin in findinprogress - Forgot 0.02 Changes update - Bumped to version 0.02 - Fixed synopsis - Add repository to META_MERGE - Say what this module is not - Move to Storage (core module) instead of Clone - Add package tarballs to .gitignore - test blessed structure result - Oups, removed a Data::Dumper call - No more untaint and if-if-else ambiguity solving - Fix t/Grammar/synposis.t on Win32 - Precisions in the POD for read method - Untaint the grammar when reading it, use core IO::File instead of File::Slurp - Simplified new() - Renamed if-then-else.t to if-if-else.t - use Marpa::R2 2.055_003 - Fix output v.s. arrayOfValuesb - Possiblity to return all values - Fix some POD sections - Hmm, I messed up last commit logs - let's restart from here - if-then-else test Fixed some SEE ALSO sections - Few fixes and global t/synopsis.t file for the whole package - Log::Any wrapper on top of Marpa - Added $grammar->list() method - Grammar test files and implementation on top of Marpa - Use $log Remove __DATA__ - MarpaX::Languages::C::AST::Grammar package Fixes for newest Test::More - Scope synopsis test - Scope module - Initial commit [Jeffrey Kegler ] - README changes 0.13 2013-07-23T22:56:11Z [Jean-Damien Durand ] - Revival of 'IDENTIFIER COLON initializer' old style coding, use rank to bypass gccAttributeInnerParameter generating multiple parse values - Another way to handle preprocessing - Say how many parse trees were found - Tiny protection - show context on error only if >= debug - G1 distinction between #line and #pragma directives 0.12 2013-07-21T09:41:16Z [Jean-Damien Durand ] - Force scanning of IDENTIFIER if --check reservedNames and no --lexeme IDENTIFIER 0.11 2013-07-21T09:08:18Z [Jean-Damien Durand ] - gcc asm test - gcc asm grammar fix - More about tracing - --dump and --loglevel options - Better error reporting 0.10 2013-07-20T22:24:47Z [Jean-Damien Durand ] - Disable [CheckExtraTests] until I fix them all - Perl::Critic - Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage - [CheckChangesHasContent] has a problem with my Changes format - use Marpa::R2 2.064000 back (indexed CPAN version) - RELEASE_TESTING=1 - use Marpa::R2 2.065000 - Leave directDeclaratorIdentifier as a possible value - Minimalist C AST targetted Data::Find - lexeme default = action => [start,length,value] - A gentle optimization - Remove log statements - Import nothing by default - Last Term::ProgressBar update if needed - Enable Log4perl and logInfo option - preprocessorDirective is introducing ambiguity - New option --progress - Support of comma ending argumentExpressionList - Check GetOptions return value - Fix file test for default behaviour - Support of #line in original .c and list of lexemes of interest - #line and #pragma as a whole big lexeme - Revert "use script directory instead of bin" - use script directory instead of bin - logInfo option and SEE ALSO section - POD update - update - dzil compliance - updated POD - Remove bin/ from ignore list - c2ast tool - MSVS annotation discard - callback option and logInfo option - Simplified - Remove any preprocessor directive - Probably the next developer release candidate! - Fix for a feature that may disappear - Correct implementation v.s. different type of pauses - A lot of gcc attribute extensions - Starting adding more gcc attribute extensions - Grr, missing GNU attribute extensions - Even closer - almost completed -; - Fix usage - Revisited namings, removed ugly object dependencies - Pod change - return if (! @terminals_expected); - Removed non needed methods - Cleanup cont'd - Moving methods to Util - Marpa-R2-2.061_002 bug fix - use Marpa::R2 2.061002 - parameterDeclaration check - to be done in post grammar - Fixes on updates and checks - Work on functionDefinition, simplified some calls - use Marpa::R2 2.061001 and its terminals_expected - functionDefinition - Work on events - functionDefinition checks - New attribute extra_description, mainly for better logging - Use explicit ($start, $length) for readibility - A little more information in the log - Removed unused methods and did few renamings - General fixes - Revisited scope management - Scope fix - Fixed deref action and do not return flags data - Protect against eventual emtpy topic data - declaration rule is now OK with events - Work on functionDefinition - Imported changes - Imported ctesk original SEC.bnf - _doDelayedExitScope called too often - Test suite fixes - syntax error, despite compilers wrongly parses it - parameter declaration and typedef - Test cases based on wikipedia - void func(x, typedef) {} - void func(typedef) {} - void func(x, typedef) {}; - void func(typedef) {}; - void typedef func() {}; - typedef void func() {}; - Scope events - remove dist.init from dirty Git::Check - use Marpa::R2 2.057006 - Events callback - A simple callback framework - use Marpa::R2 2.057005 - Changed how Scopes are detected - removing two calls to findInProgressshort()! - Fixed an in the logging - Typos - Quote of "What is the Marpa algorithm?" - Test plan - Restored TODO list [Jeffrey Kegler ] - README changes 0.09 2013-06-03T18:22:46Z [Jean-Damien Durand ] - Back to eval Log::Log4perl because of Win32 warn - v0.08 0.08 2013-06-02T21:18:03Z [Jean-Damien Durand ] - Ignore my MarpaX::Languages::C::AST::Expected in AutoPrereqs - Enable UploadToCPAN - Back to 95% of DAGOLDEN great dist.ini 0.07 2013-06-02T17:36:58Z [Jean-Damien Durand ] - oups back 0.06 2013-06-02T17:33:00Z [Jean-Damien Durand ] - Closer to DAGOLDEN 0.05 2013-06-02T17:12:10Z [Jean-Damien Durand ] - Removed non needed dzil.sh, this also allow to have a clean tag, but Dist::Zilla perturbed a bit the followup of tag v.s. official releases 0.04 2013-06-02T17:03:14Z [Jean-Damien Durand ] - Uncommentedd UploadToCPAN - Remove dist.ini from allow_dirty, Added back commented [FakeRelease] - New CPAN release of MarpaX-Languages-C-AST - v0.04 - Added META.json and README.pod to .gitignore - Add .build to .gitignore - Dist:Zilla version - Removed - Removed README boilerplate - Remove given/when: warnings on perl5.18 - Better readibility 0.03 2013-05-30T19:12:07Z [Jean-Damien Durand ] - Synopsis made readable - Removed - Move atomic stuff to example since the grammar does not have pb with it (historically c2011 draft had an ambiguity between atomic as type specifier and type qualifier) - Updated test file to follow logging that now have a context free string - Use given/when, log the context (lexeme, event) - MIN_PERL_VERSION => '5.10.0' - Fix under taint mode - Preview of changes for 0.03 - My own version of changes.t - Cosmetic reorder in _doLexeme() - Revisited lexeme and events processing - Again manifest.t - Fixed MANIFEST - Back to quasi-original manifest.t - TODO list, currently contains only PERHAPS items - Revisited log mechanism and inspectG1 - Better log - examples/synopsis.pl - Variable name convention fix - Correct parameters to findInProgress() - No (not-needed) $lhs nor [@rhs] in $matchesp - findInProgressShort and g1Describe helper methods - Return list of [$ruleId, $dotPosition, $origin, $lhs, [@rhs]] that matched - Force Marpa::R2 in addition to the test in Makefile.PL - Fix rc=1 if anything was requested /and/ matched - Typo in a comment - Removed perl version dependency - Removed duplicate BUILD_REQUIRES - Do a PREREQ_PM - Removed non-needed Module::Info requirement - Removed use perl 5.006 - Added use warnings - Updated methods docs - Fixed typos in the doc - Marpa::R2 2.056000 official release dependency - Add ruleid and origin in findinprogress - Forgot 0.02 Changes update 0.02 2013-05-21T22:39:50Z [Jean-Damien Durand ] - Bumped to version 0.02 - Fixed synopsis - Add repository to META_MERGE - Say what this module is not - Move to Storage (core module) instead of Clone 0.01 2013-05-21T12:19:33Z - No changes found