Commit Graph

  • 786c78b635 Update CHANGELOG for v1.3.0 josh 2024-04-23 00:21:28 -04:00
  • f0bd8d8663 Add documentation for AST generation mode - close #22 josh 2024-04-23 00:15:19 -04:00
  • c7a18ef821 Add AST node field name with no suffix when unique - #22 josh 2024-04-22 21:50:26 -04:00
  • cb06a56f81 Add AST generation - #22 josh 2024-04-22 09:49:46 -04:00
  • 2b28ef622d Add specs to fully cover cli.rb josh 2024-04-06 14:37:15 -04:00
  • 19c32b58dc Fix README example grammar josh 2024-04-06 14:16:27 -04:00
  • 3a8dcac55f v1.2.0 v1.2.0 josh 2024-04-02 21:42:33 -04:00
  • 632ab2fe6f Update CHANGELOG for v1.2.0 josh 2024-04-02 21:42:18 -04:00
  • 3eaf0d3d49 allow one line user code blocks - close #21 josh 2024-04-02 17:44:15 -04:00
  • 918dc7b2bb fix generator hang when state transition cycle is present - close #20 josh 2024-04-02 14:27:08 -04:00
  • 5b2cbe53e6 Add backslash escape codes - close #19 josh 2024-03-29 16:45:54 -04:00
  • 1d1590dfda Add API to access unexpected token found - close #18 josh 2024-03-29 15:58:56 -04:00
  • 1c91dcd298 Add token_names API - close #17 josh 2024-03-29 15:02:01 -04:00
  • 5dfd62b756 Add D example to user guide for p_context_init() - close #16 josh 2024-03-29 13:52:16 -04:00
  • fad7f4fb36 Allow user termination from lexer code blocks - close #15 josh 2024-03-29 13:45:08 -04:00
  • d55c5e0080 Update CHANGELOG for v1.1.0 josh 2024-01-07 17:48:47 -05:00
  • 6c847c05b1 v1.1.0 v1.1.0 josh 2024-01-07 17:43:06 -05:00
  • a5800575c8 Document generated API in user guide - close #14 josh 2024-01-05 20:47:22 -05:00
  • 24af3590d1 Allow user to terminate the parser - close #13 josh 2024-01-03 22:32:10 -05:00
  • 92c76b74c8 Update license year josh 2024-01-03 20:05:46 -05:00
  • a032ac027c Compilation warning for unreachable statement - close #12 josh 2023-10-21 16:04:15 -04:00
  • af5edaa762 Bump version to 1.0.0 v1.0.0 josh 2023-09-25 20:02:02 -04:00
  • 81f15245f2 Update README with some user guide contents josh 2023-09-25 19:57:49 -04:00
  • d8aa72d516 Add all task josh 2023-09-25 19:51:47 -04:00
  • aabc8a5af5 Remove propane.sh josh 2023-09-25 19:51:41 -04:00
  • 705e5d8ba9 Remove need for dspec directory josh 2023-09-25 19:50:13 -04:00
  • f152cd9da1 Turn on simplecov to measure code coverage josh 2023-09-25 19:38:55 -04:00
  • 9a9315f7f9 Include asset file contents in distributable script josh 2023-09-25 19:12:37 -04:00
  • 197f126109 Add Assets module to abstract accessing asset files josh 2023-09-25 16:16:20 -04:00
  • db6dc0e099 Add dspec task to test distributable script josh 2023-09-24 18:54:19 -04:00
  • 547dbd3850 Add user guide section for parser rules josh 2023-09-24 18:45:01 -04:00
  • aff0102536 Document the prefix statement josh 2023-09-24 16:14:59 -04:00
  • 1328a718ac Add user guide content for lexer josh 2023-09-24 16:07:43 -04:00
  • 562c24ce9e Remove grammar "class" statement josh 2023-09-24 13:23:44 -04:00
  • c824ae9e5c User guide: document specifying parser value types josh 2023-08-26 21:15:33 -04:00
  • 140b2d8350 User guide: document user code blocks josh 2023-08-23 16:25:41 -04:00
  • 3c8794058f Add C backend - close #4 josh 2023-08-23 16:00:04 -04:00
  • 06af7fbe3b wip c-backend josh 2023-08-20 21:22:34 -04:00
  • 9760da4df4 wip josh 2023-08-20 21:19:34 -04:00
  • 35acdde09f generates a parser specs passing josh 2023-08-20 20:49:24 -04:00
  • aef5367378 Get test_lexer_unknown_character working for C josh 2023-08-20 18:43:33 -04:00
  • 36213d9e9c wip josh 2023-08-20 17:25:48 -04:00
  • 7b1d903b00 wip josh 2023-08-20 16:58:02 -04:00
  • 59e8e0a095 wip josh 2023-08-20 16:56:00 -04:00
  • dace12310a wip josh 2023-08-20 16:53:54 -04:00
  • c7185edef0 Add spec support for C tests josh 2023-08-20 16:38:35 -04:00
  • 9d2b3be20b Determine output language by output file extension josh 2023-08-20 16:27:58 -04:00
  • 2b515e1a7a wip josh 2023-08-20 16:13:18 -04:00
  • 4ffdea07bb wip josh 2023-08-08 22:43:46 -04:00
  • cdb6294f1f wip josh 2023-08-06 11:49:26 -04:00
  • 48b4033ef2 wip josh 2023-08-02 21:36:43 -04:00
  • fff9700f91 Report the unexpected token for P_UNEXPECTED_TOKEN returns - close #11 josh 2023-07-28 15:42:18 -04:00
  • fa7a781a5d Update gems josh 2023-07-26 11:39:36 -04:00
  • c4bcb465da Remove std.stdio import and printing of unexpected tokens josh 2023-07-17 21:57:31 -04:00
  • d39fa61af0 Remove D language reference from test names josh 2023-07-15 14:19:30 -04:00
  • 6333762414 Add user guide math expression example josh 2023-07-14 20:32:50 -04:00
  • 4942c76551 Show rule ID and rule set ID in reduce actions log section josh 2023-07-14 16:06:49 -04:00
  • 653b4e00f6 Add testutils module with assert_eq() josh 2023-07-14 15:48:44 -04:00
  • 5ce562cbc3 Allow configuring API prefix - close #9 josh 2023-07-13 18:06:24 -04:00
  • 7d7929a358 Compact some of the table output josh 2023-07-12 19:51:35 -04:00
  • 424ddfe55a Output position info for various error return codes - close #10 josh 2023-07-12 19:22:44 -04:00
  • ce22e3465b Use consistent styling josh 2023-07-12 16:45:59 -04:00
  • c7bca74d3e Use symbol_id instead of token_id for shift table entries josh 2023-07-12 15:51:07 -04:00
  • 7a1b4064c1 Switch to new API - close #8 josh 2023-07-12 15:46:13 -04:00
  • e0e5e87338 Move public types to the top josh 2023-07-12 13:50:43 -04:00
  • 779ba052c1 Use P_SUCCESS instead of P_TOKEN josh 2023-07-11 15:43:15 -04:00
  • eee6513384 Remove outer namespacing class josh 2023-07-10 22:54:33 -04:00
  • 78ce7fb77a Replace 'ref' arguments with plain pointers josh 2023-07-10 22:40:03 -04:00
  • ad768711ff Use size_t to hold runtime object IDs and INVALID_ID josh 2023-07-10 22:32:33 -04:00
  • a2338a8fca Add ShiftID josh 2023-07-10 22:28:48 -04:00
  • 612eb12545 Add RuleID josh 2023-07-10 22:27:53 -04:00
  • ef7488747c Add StateID josh 2023-07-10 22:25:28 -04:00
  • 950fafc872 Add SymbolID josh 2023-07-10 22:17:54 -04:00
  • 9dbae78724 Add ReduceID type josh 2023-07-10 21:42:44 -04:00
  • f973e9dc2c Rename lexer and parser State structs to avoid conflicts josh 2023-07-10 11:21:45 -04:00
  • 1c50d37a3e Add Position struct to track text positions josh 2023-07-10 11:18:57 -04:00
  • 80ac6c17f0 Replace Token struct with integer type josh 2023-07-09 22:22:50 -04:00
  • 6327bd1e96 Use plain integer type for UserCodeID josh 2023-07-08 17:01:54 -04:00
  • 36ad6e0d1b Build Lexer and Parser tables upon construction josh 2023-07-08 16:52:58 -04:00
  • ffd02c16d1 Add StateID; remove TransitionResult josh 2023-07-08 16:46:38 -04:00
  • 0a7938038b Make RuleSet#id read-only josh 2023-07-08 11:17:11 -04:00
  • 6daca1e73f Add INVALID_ID josh 2023-07-08 10:49:56 -04:00
  • 83a4037740 Return a lexer error on unexpected input - close #3 josh 2023-07-08 10:36:58 -04:00
  • ecef933255 Consolidate return codes josh 2023-07-08 09:09:08 -04:00
  • 0232b204c6 Return integer result code from Parser.parse() josh 2023-07-08 08:52:21 -04:00
  • c88338698a Store whether a state accepts, not whether it drops josh 2023-07-08 08:29:33 -04:00
  • 8a377b4950 Just return integer result code from Lexer.lex_token() josh 2023-07-08 08:08:36 -04:00
  • 0d0da49cd5 Just return integer result code from Lexer.find_longest_match() josh 2023-07-05 17:07:48 -04:00
  • d56cc2deeb Just return integer result code from Decoder.decode_code_point() josh 2023-07-05 16:54:52 -04:00
  • 9e33a32930 Store code_point_length in a ubyte josh 2023-07-05 16:45:03 -04:00
  • 02d99082b2 Allow switching on Decoder.Result josh 2023-07-04 12:49:54 -04:00
  • d466189982 Convert Decoder.decode_code_point return type to a SumType sumtype josh 2023-06-29 19:21:30 -04:00
  • 9895733a05 Switch unit tests from gdc to ldc2 josh 2023-06-29 19:16:36 -04:00
  • 11348ca351 Add FindLongestMatchResult josh 2023-06-04 21:14:07 -04:00
  • 6b0fb4cb12 Add return type for transition() josh 2023-06-03 20:38:42 -04:00
  • b78827746a Return a Token object from Lexer.user_code() josh 2023-03-17 20:24:48 -04:00
  • ce80e00e60 Remove TOKEN_DECODE_ERROR josh 2023-03-17 20:01:55 -04:00
  • 01b45df1f9 Remove TOKEN_DROP josh 2023-03-17 19:58:54 -04:00
  • ffccc659aa Clean up Lexer.State a bit josh 2023-03-14 19:38:42 -04:00
  • e432f62b05 Add UserCodeID struct to represent user code IDs josh 2023-03-13 21:56:18 -04:00