Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use smart-pointer and generate C++ code for bison/flex #410

Open
wants to merge 9 commits into
base: master
Choose a base branch
from

Commits on Mar 13, 2022

  1. Update C++STL test code to use unique_ptr

    * Modify include file and Parser header file name as psXXX
    * Add compile option to `src/BNFC/Backend/CPP/Makefile.hs`
    hangingman committed Mar 13, 2022
    Configuration menu
    Copy the full SHA
    663c0a7 View commit details
    Browse the repository at this point in the history
  2. Add switch Ansi/BeyondAnsi

    * Modify C++ generator module for mainly using unique_ptr
    hangingman committed Mar 13, 2022
    Configuration menu
    Copy the full SHA
    4f3a15e View commit details
    Browse the repository at this point in the history
  3. Refactor CFtoCPPAbs.hs, CFtoBisonC, CFtoFlexC, Makefile.hs

    * refacotor prList, prListC
    hangingman committed Mar 13, 2022
    Configuration menu
    Copy the full SHA
    dce4845 View commit details
    Browse the repository at this point in the history
  4. Bison, fix to use %skeleton as "lalr1.cc" it requires bison >= 3.2

    * Implement switching bison %union and variant
    * Implement C++ parser with driver setting
    * Implement C++ driver/scanner class
    * Fix file extension
    * Fix token type
    * Fix flex buffer related code
    * Refactor makefile compile option
    * Implement reverse function in ListXXX class
    Add member fields for Driver class to receive parsed objects
    Update CFtoBisonC and CFtoSTLAbs for wrapping std::uniuqe_ptr
    Update C++ Abs files and Printer class
    Update PrettyPrinter code for using smart-ptr
    Enable to compile testcc
    * add driver entry codes
    * modify SkelSTL.hs for header file extension
    * Enable debugging of lexer/parser
    
    Change bison yy file to use shared_ptr instead of unique_ptr
    hangingman committed Mar 13, 2022
    Configuration menu
    Copy the full SHA
    64e2367 View commit details
    Browse the repository at this point in the history
  5. Configuration menu
    Copy the full SHA
    99f18af View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    e703338 View commit details
    Browse the repository at this point in the history
  7. Fixing review items and other compile error (#4)

    Fix following:
    * Dont' generate `override` keyword on `--ansi` mode 
    * Remove doubly defined YY_BUFFER_STATE  in `--ansi` mode
    * Switch `--ansi` and `-std=c++14` mode in `source/src/BNFC/Backend/CPP/PrettyPrinter.hs`
    * Fix Parser.h, switch entry points interfaces
    * Use C++ location/position interface
    hangingman committed Mar 13, 2022
    Configuration menu
    Copy the full SHA
    e0d21a2 View commit details
    Browse the repository at this point in the history

Commits on May 3, 2022

  1. Make enable filtering of bnfc-system-tests, fix failing system tests (#5

    )
    
    * Make enable filtering of bnfc-system-tests
    * Remove override keyword from clone() C++
    * Add work-around of "transition table overflow, automaton is too big" https://stackoverflow.com/a/63461031/2565527
    * Add yylval->emplace<char>(); for escaped charcters
    * Deal with C++ NO STL
    * Add switching of smart-pointer on pp and absyn
    * Fix skelton code generator
    * Absyn list should append the last when adding the element
    * Remove dummy FlexLexer class
    * Fix C/C++ namespace problem
    * Fix bnfc define statement problem
    * Switch using shared-ptr or not, according to base-classes or token-classes
    * Fix cons impl in definedRules
    * Fix error handling
    * deal with reversible classes such that it can do left recursion
    hangingman committed May 3, 2022
    Configuration menu
    Copy the full SHA
    fd2531c View commit details
    Browse the repository at this point in the history

Commits on May 5, 2022

  1. Configuration menu
    Copy the full SHA
    58824b1 View commit details
    Browse the repository at this point in the history