Commit graph

  • 3dbc89c425 Move using namespace lalr into anonymous namespace in generated source file Charles Baker 2021-05-12 20:25:15 +12:00
  • a67d8de015 Print grammar filename not target filename when building with lalrc Charles Baker 2021-05-10 08:11:46 +12:00
  • 52ed6dfc4c Initialize new productions with the line number they appear on Charles Baker 2021-05-09 15:10:34 +12:00
  • 49a092e70d Describe why shift/reduce and reduce/reduce conflicts occur Charles Baker 2021-05-09 15:10:14 +12:00
  • 7b51a6a040 Explain what operator precedence and associativity are used for Charles Baker 2021-05-09 15:09:45 +12:00
  • ed7225a07c Add platform suffix to libraries Charles Baker 2021-05-03 20:50:07 +12:00
  • 6bd9d75b97
    Make installation instructions copy and paste friendly Charles Baker 2021-05-01 19:57:41 +12:00
  • 1140935f8e Use Forge v0.5.22 to build with Github Actions Charles Baker 2021-03-31 07:38:07 +13:00
  • 00b560bd82 Use Forge 0.2.18 to build with Github Actions Charles Baker 2021-02-04 20:03:39 +13:00
  • 441a42b964 Create lalr toolset with global function not through Forge object Charles Baker 2021-02-04 20:03:08 +13:00
  • c3de798611 Use Forge 0.2.18 to build with Github Actions Charles Baker 2021-02-04 20:03:39 +13:00
  • f846da95c3 Create lalr toolset with global function not through Forge object Charles Baker 2021-02-04 20:03:08 +13:00
  • feb57889c1 Use latest Forge v0.1.8 and enable building on Linux again Charles Baker 2020-11-19 07:23:53 +13:00
  • 3312addd50 WIP: Try running forge from the shipping directory it is built to Charles Baker 2020-11-14 14:34:40 +13:00
  • 7f1a38fd88 Display build status with Github Actions badge not Travis CI Charles Baker 2020-11-13 21:17:57 +13:00
  • d7aab75ba1 Remove now unused .travis.yml Charles Baker 2020-11-13 21:16:16 +13:00
  • b4f4dca9a3 Remove ubuntu-latest from build matrix as it crashes Charles Baker 2020-11-13 16:42:03 +13:00
  • 5ca7f56870 Add build.yml to build and test with Github Actions Charles Baker 2020-11-13 16:38:43 +13:00
  • ce8b38b003 Build using Forge v0.0.6 (PatternPrototype() is now global) Charles Baker 2020-11-13 16:45:52 +13:00
  • 44b85a2833 Build with Forge v0.0.5 on Travis CI Charles Baker 2020-05-26 16:14:32 +12:00
  • 80a17aaf4c Build with Forge v0.0.5 Charles Baker 2020-05-26 16:13:31 +12:00
  • 93a79b6549 Return EXIT_FAILURE from lalrc on open, close, or write errors Charles Baker 2019-11-05 20:29:06 +13:00
  • d23d6be236 Test improved error handling Charles Baker 2019-08-10 13:23:33 -07:00
  • 2a5a68dea7 Improve error handling when parsing grammars Charles Baker 2019-08-10 13:23:23 -07:00
  • 004dcfe895 Simplify GrammarParser::match_associativity_statement() Charles Baker 2019-08-09 23:17:33 -07:00
  • f46031d2f9 Sanitize symbol lexeme strings when written to C++ source Charles Baker 2019-08-09 23:17:02 -07:00
  • 488166c972 Check for fprintf() errors in lalrc.cpp Charles Baker 2019-11-04 08:05:33 +13:00
  • dc95fb7550 Update .travis.yml to build with Forge v0.0.3-rc.11 Charles Baker 2019-07-24 20:21:42 +12:00
  • 1f83c62efa Update unittest-cpp submodule to latest revision Charles Baker 2019-07-24 20:21:06 +12:00
  • 230b540140 Build using latest Forge with toolsets and global API Charles Baker 2019-07-24 15:40:09 +12:00
  • cf581bdc36 Update .travis.yml to build using latest Forge v0.0.2-rc28 Charles Baker 2019-06-13 15:41:02 +12:00
  • ccb0a0825d Build using latest Forge v0.0.2-rc28 Charles Baker 2019-06-13 15:40:51 +12:00
  • 0e38b576d0 Cast to size_t() instead of ptrdiff_t() to fix Linux/GCC compile error Charles Baker 2019-05-29 20:06:48 +12:00
  • 44973caf8b Fix out of bounds access handling zero length productions Charles Baker 2019-05-29 19:38:06 +12:00
  • f5a9d2b525 Add missing "%d" for column in shift and reduce debugging Charles Baker 2019-05-29 16:32:38 +12:00
  • 21bceef4e1
    Merge pull request #3 from riej/master Charles Baker 2019-05-29 16:27:22 +12:00
  • 34325c5c24 Add column numbers for error handling riej 2019-05-28 21:20:49 +05:00
  • 567aeb07a8 Use Forge v0.0.2-rc.19 for CI Charles Baker 2019-05-28 20:24:28 +12:00
  • 65409e10fa Edit "Error Handling" section of README.md Charles Baker 2019-05-21 15:54:27 +12:00
  • 7717084f46 Add tests for line numbering and line numbering with error handling Charles Baker 2019-05-19 20:07:28 +12:00
  • 3c27b98c37 Propagate line number through to non-terminals and error productions Charles Baker 2019-05-19 20:07:15 +12:00
  • 45718f8a1c Improve error handling documentation Charles Baker 2019-05-18 20:04:03 +12:00
  • ceaa8e930c Add test for integers error handling example in README.md Charles Baker 2019-05-18 20:08:14 +12:00
  • 2b55d4e411 Stop crashing when generating parsers that have no lexers Charles Baker 2019-05-18 20:07:59 +12:00
  • 0ee3d844b5 Update compiled JSON and XML parse tables Charles Baker 2019-05-18 15:59:22 +12:00
  • 0841bb2d10 Remove commented out code from RegexGenerator.cpp Charles Baker 2019-05-18 15:21:20 +12:00
  • 0a5c72cbac Minor formatting in RegexGenerator.cpp Charles Baker 2019-05-18 15:19:43 +12:00
  • 0c089ceda6 Only report RegexToken conflicts once for each conflicting token Charles Baker 2019-05-18 15:19:19 +12:00
  • de647111d1 Track which RegexTokens have conflicted with each other Charles Baker 2019-05-18 15:18:54 +12:00
  • 326c8a97a1 Add Parser<>::lexer() to provide constant access to Lexer for line number Charles Baker 2019-05-18 14:40:45 +12:00
  • b1365806ed Print newline in lalr_calculator_example result Charles Baker 2019-05-18 14:36:48 +12:00
  • 64db205c36 Don't generate parser source if compiling grammar fails Charles Baker 2019-05-18 14:35:56 +12:00
  • 8e1e3a31ca Return number of errors from GrammarCompiler.compile() Charles Baker 2019-05-18 14:35:28 +12:00
  • d6145c2af4 Use lalr_error() to ignore errors in IgnoreParserErrorPolicy Charles Baker 2019-05-17 20:48:05 +12:00
  • e55c55a350 Print errors encountered by lalrc Charles Baker 2019-05-17 20:47:20 +12:00
  • a31c700eed Enable error symbol on left-hand side of production error test Charles Baker 2019-05-17 20:46:58 +12:00
  • 48b1d40abd Improve error message on conflicting terminals Charles Baker 2019-05-17 20:46:27 +12:00
  • ca018d52e8 Use line of terminal definition for named terminals Charles Baker 2019-05-17 20:46:13 +12:00
  • 99c5ebce6d Handle error symbol on left side of a production correctly Charles Baker 2019-05-17 20:23:32 +12:00
  • 7fe832ca4e Remove commented out assert from Grammar Charles Baker 2019-05-17 20:22:43 +12:00
  • f3762961ad Add error handling calculator example Charles Baker 2019-05-17 17:40:25 +12:00
  • d8896f48eb Ignore /.vscode/ Charles Baker 2019-05-17 20:47:44 +12:00
  • ff9212446b Use latest lexer action functions in parser tests Charles Baker 2019-04-23 11:02:52 +12:00
  • 57720fe5fa Use line number in debugging functions Charles Baker 2019-04-23 10:51:11 +12:00
  • 95f10fdb38 Track line number at start of lexeme in Lexer Charles Baker 2019-04-22 19:41:26 +12:00
  • dc8e436361 Remove mostly unused Parser<>::position() Charles Baker 2019-04-22 19:31:12 +12:00
  • 658bc53969 Update README.md calculator example to match source code Charles Baker 2019-04-20 20:15:34 +12:00
  • ae4ed8104c Remove UserData from ParserNode<> in examples Charles Baker 2019-04-17 20:44:21 +12:00
  • 1d86f7523b Remove unused UserData and line from ParserNode Charles Baker 2019-04-17 20:43:58 +12:00
  • 1bfba4722a Use simplified action handlers with separate user data and ParserNodes in examples Charles Baker 2019-04-17 20:36:23 +12:00
  • 21f8a91b9b Use simplified action function with separate user data and ParserNode Charles Baker 2019-04-17 20:36:05 +12:00
  • 39f8c383ff Separate user data and lexemes from ParserNode in parsing Charles Baker 2019-04-14 20:43:46 +12:00
  • 6251d29dc4 Use closures in lalr_calculator_example/ Charles Baker 2019-04-14 12:51:15 +12:00
  • ddca19f58c Use closures in lalr_hello_world_example/ Charles Baker 2019-04-14 12:51:03 +12:00
  • 351d643018 Set unittest-cpp submodule to forge-v0.0.x branch on Github Charles Baker 2019-04-14 13:00:44 +12:00
  • ab003e58c0 Bump to use the latest Forge version in .travis.yml Charles Baker 2019-04-03 21:13:05 +13:00
  • d0f8843dea Simplify .travis.yml now that Forge is archived using $TRAVIS_OS_NAME Charles Baker 2019-03-31 20:48:25 +13:00
  • d62c08f2c3 Add Travis CI build status badge to README.md Charles Baker 2019-03-31 13:28:23 +13:00
  • 2669a2a890 Move test execution into script section, test section doesn't seem to run Charles Baker 2019-03-31 13:25:14 +13:00
  • 5ef67d8ffc Build for c++11 on Linux and macOS, c++14 on Windows Charles Baker 2019-03-31 13:23:39 +13:00
  • e666993465 Add https://github.com/ to start of URLs to wget forge Charles Baker 2019-03-31 13:21:43 +13:00
  • 8e1778a3db Use HTTPS instead of GIT in submodule URLs Charles Baker 2019-03-31 13:19:46 +13:00
  • 201979d917 Initial attempt at .travis.yml Charles Baker 2019-03-31 13:17:52 +13:00
  • 6e0d03fe9e Add Linux build instructions to README.md Charles Baker 2019-03-18 21:12:00 +13:00
  • b15cfccfcf Update to use latest Forge and build scripts Charles Baker 2018-12-06 20:43:21 +13:00
  • 4908890622 Remove require of now non-existant forge.cc module Charles Baker 2018-09-29 19:34:34 +12:00
  • 0f937b00e5 Define _CRT_SECURE_NO_WARNINGS in lalrc.cpp to avoid fopen() use warnings Charles Baker 2018-09-29 19:34:03 +12:00
  • e54b98ea2d Specify C/C++ macros in top-level forge.lua Charles Baker 2018-09-27 20:19:52 +12:00
  • 8adb989b4e Require Forge Linux module to enable Linux build Charles Baker 2018-09-26 21:02:56 +12:00
  • fb1c862639 Fix warnings about ParserNode changing meaning in ParserUserData Charles Baker 2018-09-26 21:02:32 +12:00
  • 5fdd5ce4bc Fix warning about && within || in assert in RegexNode Charles Baker 2018-09-26 21:02:02 +12:00
  • 4a6e5cdd07 Include missing <algorithm> for GCC compilation on Linux Charles Baker 2018-09-26 21:01:36 +12:00
  • 13820013f7 Include missing <string.h> for GCC compilation on Linux Charles Baker 2018-09-26 21:00:43 +12:00
  • 2835d67b98 Use latest Forge features in Lalrc target prototype Charles Baker 2018-09-26 21:00:02 +12:00
  • 735715df98 Use StaticLibrary instead of Library to specify library targets Charles Baker 2018-09-20 19:09:24 +12:00
  • d877c66d2b Update build scripts to work with latest Forge Charles Baker 2018-09-01 15:20:00 +12:00
  • 67e894930d Include <iterator> from GrammarCompiler.cpp for std::back_inserter w/ Visual C++ Charles Baker 2018-09-01 15:19:18 +12:00
  • 4119386a4e Update UnitTest++ (unittest-cpp) to latest revision (renames *.build to *.forge) Charles Baker 2018-08-12 15:10:41 +12:00
  • 7605fa0cc4 Rename build.lua to forge.lua Charles Baker 2018-08-12 15:03:10 +12:00
  • 162c8765a0 Rename *.build to *.forge Charles Baker 2018-08-12 15:03:03 +12:00