Commit graph

  • 48f6ad1048 Update UnitTest++ (unittest-cpp) to latest revision (renaming build to forge) Charles Baker 2018-08-12 14:35:47 +12:00
  • 0a622e0f2e Rename “build” to “forge” in build scripts and buildfiles Charles Baker 2018-08-12 14:08:44 +12:00
  • 7602b09bb5 Add missing submodule update and rename build to forge in install/build instructions Charles Baker 2018-08-08 21:21:35 +12:00
  • 235f863b35 Make parser state machine const in XML example for Visual C++ Charles Baker 2018-08-08 21:18:09 +12:00
  • 20e908fab3 Include <functional> from Lexer.hpp for std::function Charles Baker 2018-08-08 21:16:01 +12:00
  • 918bc820da Update UnitTest++ submodule to latest revision (uses new object target notation in buildfiles) Charles Baker 2018-08-08 21:15:37 +12:00
  • 968155e229 Rename instructions from Sweet Build to Forge Charles Baker 2018-08-08 10:31:37 +12:00
  • 317a682b10 Rename root build script from Sweet Build to Forge Charles Baker 2018-08-08 10:31:22 +12:00
  • df8c4bbc5a Rename build scripts from Sweet Build to Forge Charles Baker 2018-08-08 10:31:05 +12:00
  • f5df52d180 Use Parser::set_lexer_action_handler() in JSON parsing example Charles Baker 2018-07-22 13:58:18 +12:00
  • d30ae87d34 Use Parser::set_lexer_action_handler() in string parsing test Charles Baker 2018-07-22 13:58:00 +12:00
  • 40ce4ef289 Add Parser::set_lexer_action_handler() Charles Baker 2018-07-22 13:57:37 +12:00
  • 6076b8b5e8 Use correct type for LexerActionFunction in Parser Charles Baker 2018-07-22 13:57:27 +12:00
  • edb6e74d10 Simplify Lalrc target prototype build script Charles Baker 2018-07-03 20:51:26 +12:00
  • 88e666b5ae Use pointer to generated parse tables in README.md usage Charles Baker 2018-07-03 12:47:46 +12:00
  • 5a4574ec35 Update generated parse tables for examples Charles Baker 2018-07-03 12:44:19 +12:00
  • 2c972993ad Use updated generated parse tables in examples Charles Baker 2018-07-03 12:44:09 +12:00
  • 7a3695d58b Build example parse tables from grammars Charles Baker 2018-07-03 12:41:00 +12:00
  • 4c84d618db Update installation instructions in README.md Charles Baker 2018-07-02 21:23:40 +12:00
  • c601ef4e3e Update calculator example in README.md Charles Baker 2018-07-02 21:22:23 +12:00
  • 5d86d4e956 Provide ParserStateMachine as a global pointer instead of global object Charles Baker 2018-07-02 21:08:16 +12:00
  • cd6a0b0dbd Ensure that arrays written by lalrc have at least one entry Charles Baker 2018-07-02 21:06:50 +12:00
  • f94f18a46b Fix warnings and errors when compiled with Visual C++ Charles Baker 2018-07-02 21:03:38 +12:00
  • 289eaee0a6 Remove unused ParserSymbol from example action handlers Charles Baker 2018-06-29 12:24:57 +12:00
  • eecc9b1778 Update to latest revision of UnitTest++ with explit libraries Charles Baker 2018-06-29 12:20:49 +12:00
  • 55316f4734 Reduce indentation level in lalr::ErrorPolicy Charles Baker 2018-05-04 13:06:48 +12:00
  • 5eb8674876 Update to use build scripts with explicit libraries and architectures Charles Baker 2018-04-29 13:26:20 +12:00
  • 95c46789a8 Allow empty productions in GrammarTransition Charles Baker 2018-04-27 13:06:44 +12:00
  • 2041ed0c79 Rename debug_shift_enabled to debug_enabled in Parser::set_debug_enabled() Charles Baker 2018-04-27 13:06:25 +12:00
  • 825d02b53a Be more explicit with ParserNode in Parser and AddParserActionHandler Charles Baker 2018-04-25 20:38:56 +12:00
  • e6a2bd8791 Remove reduced symbol parameter from parser action handlers Charles Baker 2018-04-25 20:34:17 +12:00
  • 6babdb43c0 Add build scripts for building grammar files to C++ source files Charles Baker 2018-04-25 20:33:34 +12:00
  • 87b632f1ef Add empty productions that just have an action; no symbols or precedence directive Charles Baker 2018-04-25 13:07:28 +12:00
  • ec2074601e Remove assert that prevents valid empty productions overriding to reduction Charles Baker 2018-04-25 13:06:59 +12:00
  • b63496fce3 Identify symbols in grammar by lexeme and type instead of just lexeme Charles Baker 2018-04-27 12:47:51 +12:00
  • 62decaa8c4 Add short description at top of README.md Charles Baker 2018-04-17 21:16:24 +12:00
  • 501297025f Add tests for C++ style comments in grammars Charles Baker 2018-04-17 13:33:14 +12:00
  • 2800937e33 Support C++ style comments in grammars Charles Baker 2018-04-17 13:33:00 +12:00
  • 3a139f8de3 Update README.md to contain all updated documentation Charles Baker 2018-04-07 15:35:24 +12:00
  • 91250add16 Align help message in lalrc Charles Baker 2018-04-14 21:44:51 +12:00
  • 4b1ce80cc1 Enable tests now that UnitTest++ is a submodule Charles Baker 2018-04-07 15:29:02 +12:00
  • 089938eec0 Add UnitTest++ as a submodule Charles Baker 2018-04-07 15:28:49 +12:00
  • 5d82448ba2 Move source and build scripts into lalr directory Charles Baker 2018-04-07 15:20:11 +12:00
  • 6cb0752cd9 Move source into lalr directory Charles Baker 2018-04-03 20:38:26 +12:00
  • 7a8c6d1e66 Minor changes to features and description in README.md Charles Baker 2018-04-03 20:30:36 +12:00
  • 17a096b2b7
    Fix links to Sweet Build in README.md Charles Baker 2018-04-03 20:26:23 +12:00
  • 36f94bc238
    Create LICENSE Charles Baker 2018-04-03 20:07:56 +12:00
  • 7674b0e437 Simplify README.md to only contain current information Charles Baker 2018-04-03 20:05:52 +12:00
  • e934f65233 Add lalr/build.lua to build lalr without UnitTest++ Charles Baker 2018-04-03 19:49:23 +12:00
  • fb9ca4c3c7 Use absolute paths to refer to libraries Charles Baker 2018-04-03 19:49:12 +12:00
  • 9f1c5e1121 Reference libraries with src/ as build.lua has moved up a directory Charles Baker 2018-04-03 19:24:06 +12:00
  • b8a6ad6266 Rename SWEET_ASSERT() to LALR_ASSERT() Charles Baker 2018-04-03 19:13:12 +12:00
  • c3c6aa3437 Remove the outer sweet namespace and directory Charles Baker 2018-04-03 19:09:26 +12:00
  • 6f396a72ff Copy README.md from old super project Charles Baker 2018-03-31 21:28:39 +13:00
  • d6cdbd3c28 Move examples and unit tests back from super project Charles Baker 2018-03-31 21:05:35 +13:00
  • c6da6d2b0f Remove shared_ptr_less<> and unique_ptr_less<> in favour of class specific less functors Charles Baker 2018-03-30 15:22:37 +13:00
  • 126c63786f Tidy up C++ output of lalrc Charles Baker 2018-03-30 15:13:05 +13:00
  • 8eb17967f7 Further tidy up of lexer compilation between compiler and generator Charles Baker 2018-03-30 14:57:08 +13:00
  • 001b115bb8 Tidy up parser and lexer compilation Charles Baker 2018-03-30 14:38:48 +13:00
  • 34965bfd2c Rename lexer_allocations_ to lexer_ in GrammarCompiler Charles Baker 2018-03-30 14:26:18 +13:00
  • 8f14cf8359 Move parsing from Grammar into GrammarCompiler Charles Baker 2018-03-30 14:24:20 +13:00
  • 1d7dc6c90d Remove redundant setting of symbols to non-terminals in GrammarCompiler Charles Baker 2018-03-30 14:24:05 +13:00
  • 2c6fa35dc5 Count non-terminal symbols with precedence > 0 as referenced Charles Baker 2018-03-30 14:21:52 +13:00
  • dd1e4ddb0a Move LexerTransition::is_on_character() to Lexer, remove empty LexerTransition source file Charles Baker 2018-03-30 14:03:36 +13:00
  • 5dec0b6720 Move LexerState::find_transition_by_character() to Lexer, remove empty LexerState source file Charles Baker 2018-03-30 14:01:52 +13:00
  • 86f05ea933 Order lexer generator source files alphabetically Charles Baker 2018-03-30 13:55:37 +13:00
  • 6e748cde43 Rename LexerToken to RegexToken Charles Baker 2018-03-30 13:53:46 +13:00
  • 1a0018d66f Rename LexerGenerator to RegexGenerator Charles Baker 2018-03-30 13:51:23 +13:00
  • cfef019ef1 Rename LexerAllocations to RegexCompiler Charles Baker 2018-03-30 13:49:17 +13:00
  • 97c5cbfb98 Move ParserState::find_transition_by_symbol() into Parser, remove empty ParserState source file Charles Baker 2018-03-30 13:39:23 +13:00
  • 8ed8d9a012 Remove ParserStateMachine::find_symbol_by_identifier() and ParserStateMachine source file Charles Baker 2018-03-30 13:34:58 +13:00
  • f3aae9eb46 Remove empty source files for lexer actions and state machine Charles Baker 2018-03-29 21:37:35 +13:00
  • cfbb92fb5e Remove empty source files for parser actions, symbols, and transitions Charles Baker 2018-03-29 21:36:55 +13:00
  • 73f4b7303b Add —print option to lalrc to print parser state machines for debugging Charles Baker 2018-03-29 21:25:20 +13:00
  • cc46f7b699 Include “Parser.ipp” from Parser.hpp Charles Baker 2018-03-29 21:25:01 +13:00
  • 27b1240531 Order GrammarSymbol sets by value instead of by address Charles Baker 2018-03-29 21:23:44 +13:00
  • 6b494dd0ac Order GrammarStates sets by value instead of by address Charles Baker 2018-03-29 21:21:59 +13:00
  • f96dfd3b05 Initialize all members of GrammarSymbol in constructor Charles Baker 2018-03-29 21:13:29 +13:00
  • 5d78fa3aa0 Rename and combine ParserErrorPolicy and LexerErrorPolicy Charles Baker 2018-03-19 21:23:56 +13:00
  • 48f682e21a Move populate of parser and lexer state machines into GrammarCompiler Charles Baker 2018-03-18 21:07:43 +13:00
  • 683f17de73 Rename Transition to GrammarTransition Charles Baker 2018-03-18 15:47:06 +13:00
  • d834016ce9 Rename Symbol to GrammarSymbol Charles Baker 2018-03-18 15:45:13 +13:00
  • b06621c605 Rename State to GrammarState Charles Baker 2018-03-18 15:38:34 +13:00
  • 9ae0f35fb0 Rename Production to GrammarProduction Charles Baker 2018-03-18 15:35:00 +13:00
  • 9e643d3cd1 Rename Item to GrammarItem Charles Baker 2018-03-18 15:30:44 +13:00
  • da50a25f99 Rename Grammar to GrammarGenerator Charles Baker 2018-03-18 15:27:56 +13:00
  • 52d4309c55 Rename Action to GrammarAction Charles Baker 2018-03-18 15:26:12 +13:00
  • 59603b8f0a Move allocation of lexer objects into LexerAllocations Charles Baker 2018-03-17 16:40:20 +13:00
  • 05be01c4b0 Move allocation of parser objects into ParserAllocations Charles Baker 2018-03-15 21:10:02 +13:00
  • f2cd4b1a8d Add lalrc LALR parser compiler Charles Baker 2018-03-13 20:54:18 +13:00
  • acd652013b Add ParserStateMachine::transitions() Charles Baker 2018-03-13 20:53:42 +13:00
  • 90113b9d4f Store identifier in Grammar Charles Baker 2018-03-13 20:53:20 +13:00
  • 1ea0c4d817 Minor reformatting and renaming to remove get_ prefix Charles Baker 2018-03-11 21:22:36 +13:00
  • 233afea39f Remove get_ prefix from functions in Item Charles Baker 2018-03-11 21:06:14 +13:00
  • c4024a8599 Set associativity and precedence directly, remove unused Directive Charles Baker 2018-03-11 14:37:58 +13:00
  • 2dd741da6d Make LexerGenerator constructor do nothing, use LexerGenerator::generate() for generation Charles Baker 2018-03-11 13:53:00 +13:00
  • 99121f8a76 Make Generator constructor do nothing, use Generator::generate() for generation Charles Baker 2018-03-11 13:45:00 +13:00
  • d4a517e087 Remove unused functions from Generator Charles Baker 2018-03-11 13:07:52 +13:00
  • 37eedee5b8 Remove unused lalr::Nil and lalr::nil Charles Baker 2018-03-11 12:57:41 +13:00
  • fe04b66b9a Remove redundant Grammar operators for actions and end of expression Charles Baker 2018-03-11 12:56:01 +13:00