Changes for version 0.20 - 2013-09-19

  • Jean-Damien Durand <jeandamiendurand@free.fr>
    • 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

Documentation

C source analysis

Modules

Translate a C source to an AST
Simple but powerful callback generic framework that depend on nothing else but core modules.
Events callback when translating a C source to an AST
Code reference for the Simple callback generic framework.
Options for the Simple callback generic framework.
C grammar written in Marpa BNF
ISO ANSI C 2011 grammar written in Marpa BNF
Implementation of Marpa's interface
Log::Any implementation on top of Marpa
Scope management when translating a C source to an AST
C Translation to AST - Class method utilities