The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.
Changelog for MarpaX-Languages-C-AST

0.44 2015-01-21T20:30:43
 [Ben Bullock <benkasminbullock@gmail.com>]
 - indent the heredocument part of the code correctly

 [Ivan Baidakou <basiliscos@openmailbox.com>]
 - Fix issue with shared dir

 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - 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: <DATA> 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
 - <G0 anything but space> replaced by <G0 constant>
 - 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 <JKEGL@cpan.org>]
 - Revise --cppfile help

 [jddurand <jeandamiendurand@free.fr>]
 - 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.43 2015-01-19T19:46:22Z
 [Ben Bullock <benkasminbullock@gmail.com>]
 - indent the heredocument part of the code correctly

 [Ivan Baidakou <basiliscos@openmailbox.com>]
 - Fix issue with shared dir

 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - 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: <DATA> 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
 - <G0 anything but space> replaced by <G0 constant>
 - 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 <JKEGL@cpan.org>]
 - Revise --cppfile help

 [jddurand <jeandamiendurand@free.fr>]
 - 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.42 2015-01-07T20:53:44Z
 [Ben Bullock <benkasminbullock@gmail.com>]
 - indent the heredocument part of the code correctly

 [Ivan Baidakou <basiliscos@openmailbox.com>]
 - Fix issue with shared dir

 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - 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: <DATA> 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
 - <G0 anything but space> replaced by <G0 constant>
 - 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 <JKEGL@cpan.org>]
 - Revise --cppfile help

 [jddurand <jeandamiendurand@free.fr>]
 - 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:50:45Z
 [Ben Bullock <benkasminbullock@gmail.com>]
 - indent the heredocument part of the code correctly

 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - 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: <DATA> 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
 - <G0 anything but space> replaced by <G0 constant>
 - 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 <JKEGL@cpan.org>]
 - Revise --cppfile help

0.40 2014-11-11T00:16:19Z
 [Ben Bullock <benkasminbullock@gmail.com>]
 - indent the heredocument part of the code correctly

 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - 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
 - 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: <DATA> 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
 - <G0 anything but space> replaced by <G0 constant>
 - 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 <JKEGL@cpan.org>]
 - Revise --cppfile help

0.39 2014-11-05T07:00:21Z
 [Ben Bullock <benkasminbullock@gmail.com>]
 - indent the heredocument part of the code correctly

 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - 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
 - dev+
 - 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: <DATA> 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
 - <G0 anything but space> replaced by <G0 constant>
 - 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 <JKEGL@cpan.org>]
 - Revise --cppfile help

0.38 2014-11-03T18:38:34Z
 [Ben Bullock <benkasminbullock@gmail.com>]
 - indent the heredocument part of the code correctly

 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - 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
 - dev+
 - 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: <DATA> 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
 - <G0 anything but space> replaced by <G0 constant>
 - 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 <JKEGL@cpan.org>]
 - Revise --cppfile help

0.37 2014-03-08T08:36:27Z
 [Ben Bullock <benkasminbullock@gmail.com>]
 - indent the heredocument part of the code correctly

 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - Release of version 0.37
 - 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
 - Merge branch 'master' of
   https://github.com/jddurand/MarpaX-Languages-C-AST
 - rulesByDepth
 - dev+
 - POD update
 - dev+

 [jddurand <jeandamiendurand@free.fr>]
 - Merge pull request #8 from benkasminbullock/patch-1 indent the
   heredocument part of the code correctly

0.36 2014-02-23T11:43:02Z
 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - Release of version 0.36
 - 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 <jeandamiendurand@free.fr>]
 - Release of version 0.35
 - Optimization bis
 - Global optimization
 - Callback/Events.pm : optimization

0.34 2014-01-22T20:20:40Z
 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - Release of version 0.34
 - 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 <jeandamiendurand@free.fr>]
 - Release of version 0.33
 - 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+
 - 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+" This reverts commit
   693733464525e669c1b7454bfeb43b83104435af.
 - work/MSASM.bnf: dev+
 - work/MSASM.bnf: dev+
 - work/MSASM.bnf: :discard rule dev+
 - work/MSASM.bnf: dev+
 - work/MSASM.bnf: dev+
 - work/MSASM.bnf: dev+
 - work/MSASM.bnf: dev+
 - work/MSASM.bnf: dev+
 - MSASM.bnf: dev+
 - work/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
 - Merge branch 'master' of
   https://github.com/jddurand/MarpaX-Languages-C-AST
 - 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 <jeandamiendurand@free.fr>]
 - Release of version 0.32
 - 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 <jeandamiendurand@free.fr>]
 - Release of version 0.31
 - 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 <jeandamiendurand@free.fr>]
 - Release of version 0.30
 - 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: <DATA> 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 <jeandamiendurand@free.fr>]
 - Release of version 0.29
 - 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 <jeandamiendurand@free.fr>]
 - Release of version 0.28
 - 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 <jeandamiendurand@free.fr>]
 - Release of version 0.27
 - 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
 - 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 <jeandamiendurand@free.fr>]
 - Release of version 0.26
 - Merge branch 'master' of
   https://github.com/jddurand/MarpaX-Languages-C-AST
 - 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 <jeandamiendurand@free.fr>]
 - Release of version 0.25
 - Grammar/ISO_ANSI_C_2011.pm: Added missing priority for
   IDENTIFIER_UNAMBIGUOUS

0.24 2013-12-25T06:12:47Z
 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - Release of version 0.24
 - 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 <JKEGL@cpan.org>]
 - Revise --cppfile help

 [jddurand <jeandamiendurand@free.fr>]
 - Merge pull request #6 from jeffreykegler/cppfile Revise --cppfile help

0.23 2013-09-25T16:45:49Z
 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - Release of version 0.23
 - Fixed reference data

0.22 2013-09-24T19:49:26Z
 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - Release of version 0.22
 - 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
 - runtime optimization
 - Avoid one internal match
 - Cases where IDENTIFIER is not ambiguous
 - Modifications as per yafce

0.21 2013-09-21T08:56:11Z
 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - Release of version 0.21
 - runtime optimizations
 - MSVS's .type could eat C lexemes DOT and 'type'

0.20 2013-09-19T21:20:31Z
 [Jean-Damien Durand <jeandamiendurand@free.fr>]
 - Release of version 0.20
 - 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)
 - Merge branch 'master' of
   https://github.com/jddurand/MarpaX-Languages-C-AST merge
 - 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
 - <G0 anything but space> replaced by <G0 constant>
 - 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
 - Fix pod
 - Fix pod