Changelog for MarpaX-Languages-C-AST 0.27 2014-01-06T19:34:00 [Jean-Damien Durand ] - release trial fixes - C::Scan cmp MarpaX::Languages::C::Scan - typedefs_structs test and change following before/after fix - ISO_ANSI_C_2011/Scan.pm : missing enum in KEY2ID and fix before/after as per C::SCan - ISO_ANSI_C_2011/Scan.pm: POD fix - ISO_ANSI_C_2011/Scan: POD fixes - 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:06 [Jean-Damien Durand ] - 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:40 [Jean-Damien Durand ] - Release of version 0.25 - Grammar/ISO_ANSI_C_2011.pm: Added missing priority for IDENTIFIER_UNAMBIGUOUS 0.24 2013-12-25T06:12:47 [Jean-Damien Durand ] - 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 ] - Revise --cppfile help [jddurand ] - Merge pull request #6 from jeffreykegler/cppfile Revise --cppfile help 0.23 2013-09-25T16:45:49 [Jean-Damien Durand ] - Release of version 0.23 - Fixed reference data 0.22 2013-09-24T19:49:26 [Jean-Damien Durand ] - 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:11 [Jean-Damien Durand ] - Release of version 0.21 - runtime optimizations - MSVS's .type could eat C lexemes DOT and 'type' 0.20 2013-09-19T21:20:31 [Jean-Damien Durand ] - 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 - replaced by - GCC __extension__ ony once for expression - GCC __extension__ cannot be in :discard - :discard of __extension (GCC) - :discard of GCC __attribute__ - renamed - Move GCC __attribute__ to :discard - Added missing MSVS __thiscall and __clrcall to function modifier - Move MSVS's __inline and __forceinline into generic INLINE lexeme - MSVS __declspec :discard test - Move __declspec to :discard - Try to make grammer more readable (2) - Try to make grammer more readable - Add missing MSVS declspec modifiers - Renamed t/discard_pragma.t to t/discard_MSVS_pragma.t - Remove logging - __pragma vtordisp - __pragma strict_gs_check - __pragma setlocale - __pragma section - __pragma runtime_checks - __pragma region/endregion - __pragma pop_macro/push_macro - __pragma pointers_to_members - __pragma pack - __pragma optimize - __pragma once - __pragma message - __pragma managed/unmanaged - __pragma make_public - __pragma loop - __pragma intrinsic - __pragma inline_recursion - __pragma inline_depth - __pragma include_alias - __pragma hdrstop - __pragma function - __pragma fp_contract - __pragma float_control - __pragma fenv_access - __pragma detect_mismatch - __pragma deprecated - __pragma conform - __pragma component - __pragma comment - bss_seg, code_seg, const_seg and data_seg share the same syntax - __pragma bss_seg fixes, add __pragma check_stack - test pragma bss_seg - pragma bss_seg - add comments - pragma warning fix - pragma test - pragma fix - Missing statement in pragma push - __declspec(deprecated) fix and __pragma alloc_text, auto_inline, warning discard - Support of logInfo __ALL__ continued - Fix reference data - __ALL__ special lexeme survey support, MSVS fixes - Document __ALL__ --lexeme value - Associate user-data to typedef and enum - new function startAndLength - deref nothing, revisit few sequences - Return true is something found - Push dirty files correctly - typedefPerScope and enumAnyScope accessors - scope object accessor - Fix default callback value - Better comment - Fix pod - Fix pod - Fix pod 0.19 2013-07-30T20:41:04 [Jean-Damien Durand ] - v0.19 [Jean-Damien Durand ] - Call log only when its level is ok - Remove useless commented block - Remove non-needed events - Tiny optimization - Call log only when its level is ok - Remove useless commented block - Remove non-needed events - Tiny optimization 0.18 2013-07-29T18:10:08 [Jean-Damien Durand ] - v0.18 [Jean-Damien Durand ] - 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 - c2ast cc replacement example - stack based version as per jeffreykegler - Tiny optimisations - Tiny optimisation - --logstderr option - Fix doc - Remove non-needed use Config - Promote STRING_LITERAL_UNIT as lexeme - Remember logInfo parameter so that we do not log more than was it requested - Fix logInfo parameter - Trying to fix Changes content, some dirty things will lay out forever it seems 0.17 2013-07-25T07:57:31 [Jean-Damien Durand ] - v0.17 [Jean-Damien Durand ] - c2ast.pl: typo in regexp - v0.16 [Jean-Damien Durand ] - Optimisations (ter) - Optimisations (ter) - v0.15 [Jean-Damien Durand ] - Lasy commit just to have git cached connection for dzil release - v0.14 [Jean-Damien Durand ] - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Lasy commit just to have git cached connection for dzil release - v0.14 [Jean-Damien Durand ] - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Optimisations (ter) - Optimisations (ter) - v0.15 [Jean-Damien Durand ] - Lasy commit just to have git cached connection for dzil release - v0.14 [Jean-Damien Durand ] - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Lasy commit just to have git cached connection for dzil release - v0.14 [Jean-Damien Durand ] - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - c2ast.pl: typo in regexp 0.16 2013-07-24T20:51:24 [Jean-Damien Durand ] - v0.16 [Jean-Damien Durand ] - Optimisations (ter) - Optimisations (ter) - v0.15 [Jean-Damien Durand ] - Lasy commit just to have git cached connection for dzil release - v0.14 [Jean-Damien Durand ] - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Lasy commit just to have git cached connection for dzil release - v0.14 [Jean-Damien Durand ] - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Optimisations (ter) - Optimisations (ter) 0.15 2013-07-24T19:07:52 [Jean-Damien Durand ] - v0.15 [Jean-Damien Durand ] - Lasy commit just to have git cached connection for dzil release - v0.14 [Jean-Damien Durand ] - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Lasy commit just to have git cached connection for dzil release 0.14 2013-07-24T19:00:43 [Jean-Damien Durand ] - v0.14 [Jean-Damien Durand ] - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations - Limit calls to last_completed - Fix format pull request #2 - Ambiguity because of gcc - Optimization bis - Doc update - Optimisations v0.13 2013-07-23T22:56:11 [Jean-Damien Durand ] - v0.13 - Revival of 'IDENTIFIER COLON initializer' old style coding, use rank to bypass gccAttributeInnerParameter generating multiple parse values - Another way to handle preprocessing - Say how many parse trees were found - Tiny protection - show context on error only if >= debug - G1 distinction between #line and #pragma directives v0.12 2013-07-21T09:41:16 [Jean-Damien Durand ] - v0.12 - Force scanning of IDENTIFIER if --check reservedNames and no --lexeme IDENTIFIER v0.11 2013-07-21T09:08:18 [Jean-Damien Durand ] - v0.11 - gcc asm test - gcc asm grammar fix - More about tracing - --dump and --loglevel options - Better error reporting v0.10 2013-07-20T22:24:47 [Jean-Damien Durand ] - v0.10 - Disable [CheckExtraTests] until I fix them all - Perl::Critic - Perl::Critic - Perl::Critic - Perl::Critic::Policy::Modules::RequireFilenameMatchesPackage - Perl::Critic - [CheckChangesHasContent] has a problem with my Changes format - use Marpa::R2 2.064000 back (indexed CPAN version) - RELEASE_TESTING=1 - Release candidate - use Marpa::R2 2.065000 - Leave directDeclaratorIdentifier as a possible value - Minimalist C AST targetted Data::Find - lexeme default = action => [start,length,value] - A gentle optimization - Remove log statements - Import nothing by default - Last Term::ProgressBar update if needed - Enable Log4perl and logInfo option - preprocessorDirective is introducing ambiguity - New option --progress - Support of comma ending argumentExpressionList - Check GetOptions return value - Fix file test for default behaviour - Support of #line in original .c and list of lexemes of interest - #line and #pragma as a whole big lexeme - Revert "use script directory instead of bin" This reverts commit 966e35a83705b0a39c2439264149069f1249433a. - use script directory instead of bin - logInfo option and SEE ALSO section - logInfo option and SEE ALSO section - POD update - update - dzil compliance - updated POD - Remove bin/ from ignore list - c2ast tool - MSVS annotation discard - callback option and logInfo option - Simplified - Remove any preprocessor directive - Probably the next developer release candidate! - Fix for a feature that may disappear - Correct implementation v.s. different type of pauses - A lot of gcc attribute extensions - Starting adding more gcc attribute extensions - Grr, missing GNU attribute extensions - Even closer - almost completed -; - Fix usage - Revisited namings, removed ugly object dependencies - Pod change - Pod change - return if (! @terminals_expected); - Removed non needed methods - Cleanup cont'd - Moving methods to Util - Marpa-R2-2.061_002 bug fix - use Marpa::R2 2.061002 - parameterDeclaration check - to be done in post grammar - Fixes on updates and checks - Work on functionDefinition, simplified some calls - use Marpa::R2 2.061001 and its terminals_expected - functionDefinition - Work on events - functionDefinition checks - New attribute extra_description, mainly for better logging - Use explicit ($start, $length) for readibility - A little more information in the log - Removed unused methods and did few renamings - General fixes * Give level in logging * Do not erase a topic level data if already setted outside the control of Callback package * Support of method_void flag * Rename sub topic_data to topic_level_fired_data to clearly indicate this is a level-aware routine * Change the order of arguments to routine reset_topic_fired_data, putting eventual level at the end - Revisited scope management - Scope fix - Fixed deref action and do not return flags data - Protect against eventual emtpy topic data - declaration rule is now OK with events - Work on events - Work on functionDefinition - Work on events - Work on functionDefinition - Imported changes - Imported ctesk original SEC.bnf APACHE 2.0 LICENSE : the copyright terms must be kept as -is - _doDelayedExitScope called too often - Test suite fixes - syntax error, despite compilers wrongly parses it - parameter declaration and typedef - Test cases based on wikipedia - void func(x, typedef) {} - void func(typedef) {} - void func(x, typedef) {}; - void func(typedef) {}; - void typedef func() {}; - typedef void func() {}; - Scope events - remove dist.init from dirty Git::Check - use Marpa::R2 2.057006 - Events callback - A simple callback framework - use Marpa::R2 2.057005 - Changed how Scopes are detected - removing two calls to findInProgressshort()! - Fixed an in the logging - Typos - Quote of "What is the Marpa algorithm?" - Test plan - Restored TODO list [Jeffrey Kegler ] - README changes [jddurand ] - Merge pull request #1 from jeffreykegler/master README changes v0.09 2013-06-03T18:22:46 [Jean-Damien Durand ] - v0.09 - v0.09 [Jean-Damien Durand ] - Back to eval Log::Log4perl because of Win32 warn On Win32, Class::Runtime on Log::Log4perl exhibits awful messages about redefinitions, despite any eventual no warnings 'redefine'. Therefore, back to good old eval of use Log::Log4perl, amended with a ## no critic - v0.08 [Jean-Damien Durand ] - Ignore my MarpaX::Languages::C::AST::Expected in AutoPrereqs - Enable UploadToCPAN - Back to 95% of DAGOLDEN great dist.ini - Back to eval Log::Log4perl because of Win32 warn On Win32, Class::Runtime on Log::Log4perl exhibits awful messages about redefinitions, despite any eventual no warnings 'redefine'. Therefore, back to good old eval of use Log::Log4perl, amended with a ## no critic - v0.08 [Jean-Damien Durand ] - Ignore my MarpaX::Languages::C::AST::Expected in AutoPrereqs - Enable UploadToCPAN - Back to 95% of DAGOLDEN great dist.ini v0.08 2013-06-02T21:18:03 [Jean-Damien Durand ] - v0.08 [Jean-Damien Durand ] - Ignore my MarpaX::Languages::C::AST::Expected in AutoPrereqs - Enable UploadToCPAN - Back to 95% of DAGOLDEN great dist.ini - Ignore my MarpaX::Languages::C::AST::Expected in AutoPrereqs - Enable UploadToCPAN - Back to 95% of DAGOLDEN great dist.ini v0.07 2013-06-02T17:36:58 [Jean-Damien Durand ] - oups back v0.06 2013-06-02T17:33:00 [Jean-Damien Durand ] - Closer to DAGOLDEN v0.05 2013-06-02T17:12:10 [Jean-Damien Durand ] - Removed non needed dzil.sh, this also allow to have a clean tag, but Dist::Zilla perturbed a bit the followup of tag v.s. official releases v0.04 2013-06-02T17:03:14 [Jean-Damien Durand ] - Uncommentedd UploadToCPAN - Remove dist.ini from allow_dirty, Added back commented [FakeRelease] - New CPAN release of MarpaX-Languages-C-AST - v0.04 [Jean-Damien Durand ] - Added META.json and README.pod to .gitignore - Add .build to .gitignore - Dist:Zilla version - Removed - Removed README boilerplate - Remove given/when: warnings on perl5.18 - Better readibility - Added META.json and README.pod to .gitignore - Add .build to .gitignore - Dist:Zilla version - Removed - Removed README boilerplate - Remove given/when: warnings on perl5.18 - Better readibility v0.03 2013-05-30T19:12:07 [Jean-Damien Durand ] - v0.03 - Synopsis made readable - Removed - Move atomic stuff to example since the grammar does not have pb with it (historically c2011 draft had an ambiguity between atomic as type specifier and type qualifier) - Updated test file to follow logging that now have a context free string - Use given/when, log the context (lexeme, event) - MIN_PERL_VERSION => '5.10.0' - Fix under taint mode - Preview of changes for 0.03 - My own version of changes.t - Cosmetic reorder in _doLexeme() - Revisited lexeme and events processing - Again manifest.t Revisited any-OS (well, Windows) support - Fixed MANIFEST - Back to quasi-original manifest.t - TODO list, currently contains only PERHAPS items - Revisited log mechanism and inspectG1 - Better log - examples/synopsis.pl - Variable name convention fix - Correct parameters to findInProgress() - No (not-needed) $lhs nor [@rhs] in $matchesp - findInProgressShort and g1Describe helper methods - Return list of [$ruleId, $dotPosition, $origin, $lhs, [@rhs]] that matched - Force Marpa::R2 in addition to the test in Makefile.PL - Fix rc=1 if anything was requested /and/ matched - Typo in a comment - Removed perl version dependency - Removed duplicate BUILD_REQUIRES - Do a PREREQ_PM - Removed non-needed Module::Info requirement - Removed use perl 5.006 - Added use warnings - Updated methods docs - Updated methods docs - Fixed typos in the doc - Marpa::R2 2.056000 official release dependency - Add ruleid and origin in findinprogress - Forgot 0.02 Changes update v0.02 2013-05-21T22:39:50 [Jean-Damien Durand ] - Bumped to version 0.02 - Fixed synopsis - Add repository to META_MERGE - Say what this module is not - Move to Storage (core module) instead of Clone v0.01 2013-05-21T12:19:33 [Jean-Damien Durand ] - Add package tarballs to .gitignore - test blessed structure result - Oups, removed a Data::Dumper call - No more untaint and if-if-else ambiguity solving - Fix t/Grammar/synposis.t on Win32 - Precisions in the POD for read method - Untaint the grammar when reading it, use core IO::File instead of File::Slurp - Simplified new() - Fixed synopsis - Renamed if-then-else.t to if-if-else.t - use Marpa::R2 2.055_003 - Fix output v.s. arrayOfValuesb - Possiblity to return all values - Fix some POD sections - Hmm, I messed up last commit logs - let's restart from here - if-then-else test Fixed some SEE ALSO sections - Few fixes and global t/synopsis.t file for the whole package - Log::Any wrapper on top of Marpa - Added $grammar->list() method - Grammar test files and implementation on top of Marpa - Use $log Remove __DATA__ - MarpaX::Languages::C::AST::Grammar package Fixes for newest Test::More - Scope synopsis test - Scope module - Initial commit