Commit Graph

53 Commits

Author SHA1 Message Date
Miguel Lechon 2829d0923b Report parse errors preceding catastrophic error. 2021-03-12 16:12:00 +01:00
Miguel Lechon 34c48c84ff Parsing error for "label:@tag{children}". 2021-03-11 21:08:38 +01:00
Miguel Lechon 72b7e3b366 And syntax error tests. 2021-03-11 17:15:22 +01:00
Miguel Lechon e25c5a66c2 Parsing errors for unterminated C-Style comments. 2021-03-11 17:13:02 +01:00
Miguel Lechon e2cefabe5c Finetune error locations. 2021-03-11 16:08:13 +01:00
Miguel Lechon 701b77e118 Parsing errors for unbalanced sets and text literals. 2021-03-10 18:32:29 +01:00
Miguel Lechon 35ef98a5fd Sync build scripts. 2021-03-09 18:12:34 +01:00
ryanfleury 65e5f728b1 node errors sample 2021-03-09 09:42:43 -07:00
Miguel Lechon 2d22fc17d5 [grammar test] Remove malformed tagging. Give up on comments. 2021-03-08 20:02:27 +01:00
Miguel Lechon bf9bfae929 comment_after fix. 2021-03-05 10:35:40 +01:00
Miguel Lechon 493f4239d5 [grammar test] Cleaner grammar. 2021-03-05 09:51:26 +01:00
Miguel Lechon 61f9149a2b [grammar test] before_comment. 2021-03-04 15:21:55 +01:00
Miguel Lechon b72890d44e before_comment fix.
When two or more comments are followed by a node, use the closest
comment as the before_comment. Prior to the fix, this combination
left node unbefore_commented:
// comment1 \n // comment2 \n node
2021-03-04 15:18:42 +01:00
Miguel Lechon e7dfe525c5 Radix for MD_I64FromString. 2021-03-03 13:14:56 +01:00
Miguel Lechon 0c6df62acd Hash map proposal. 2021-03-01 18:35:02 +01:00
Miguel Lechon 4a4f4db91a Make , and ; behave like \n as unscoped set delimiters. 2021-02-25 20:03:22 +01:00
Miguel Lechon 37fefae283 Treat the inside of a file as the content of a set. 2021-02-24 12:18:47 +01:00
Miguel Lechon 71d5235f81 [grammar test] Fairly complete test grammars. 2021-02-22 14:55:39 +01:00
Miguel Lechon 1304086266 Escape `` strings. Allow leading underscores in identifiers. 2021-02-22 14:53:23 +01:00
Miguel Lechon de104364b6 [grammar test] Some incomplete test grammars. 2021-02-21 19:13:16 +01:00
Miguel Lechon a2066a0c58 [grammar test] Limit the depth of generated tests. 2021-02-21 19:12:30 +01:00
Miguel Lechon ee4989f6e3 Enforce lack of whitespace between a tag and its arguments.
This makes constructs such as "@a (1, 2)" behave like "@a {1, 2}",
where @a tags the set (1, 2).
2021-02-21 18:58:33 +01:00
Miguel Lechon 5d5b4e730c Don't consume implicit newline delimiters.
Newlines should act as implicit delimiters for more than one nested set
in the absence of explicit delimiters.
For instance in "A:B:C\nD" the newline makes D a sibling of A.
2021-02-21 18:36:59 +01:00
Miguel Lechon c5d88b890b [grammar test] Extra set delimiters and separators.
Delimiters: Square brackets and parentheses.
Separators: Commas and semicolons
2021-02-17 12:05:56 +01:00
Miguel Lechon 35c802deae [grammar test] Sort tests by increading complexity. 2021-02-17 08:13:24 +01:00
ryanfleury 2e2ff1c42f use strtoll instead of atoll 2021-02-16 13:49:27 -07:00
Miguel Lechon 50d6f7cd64 [grammar test] Labeled nodes and tag parameters. 2021-02-16 19:35:24 +01:00
Miguel Lechon e2920e565b Partial MD grammar test. 2021-02-13 19:57:59 +01:00
Miguel Lechon a0df1e32d2 Minimal escaping rules for character and string literals. 2021-02-13 18:50:09 +01:00
Miguel Lechon 4e8bfbee03 MD_ZERO_STRUCT instead of {0}. 2021-02-11 11:49:49 +01:00
ryanfleury 192b43770b do not leave spare carriage-return characters in node comments 2021-02-09 18:56:29 -07:00
Miguel Lechon aeb3f6e224 Avoid misinterpreting closing symbols inside literals. 2021-02-09 18:37:50 +01:00
ryanfleury 710c76192a node comment bugfixes and tests 2021-02-09 08:56:22 -07:00
ryanfleury ba6286f379 pre- and post- comment parsing for nodes 2021-02-09 08:50:06 -07:00
ryanfleury 47fe753411 write out initial basic namespace parsing, without affecting anything 2021-02-09 08:27:24 -07:00
ryanfleury 9253bd0de8 remove MD_NodeKind_UnnamedSet; simplify to MD_NodeKind_Label with zero-string 2021-02-09 08:11:07 -07:00
ryanfleury 8847aebca2 Require TokenKind_Symbol to begin an unnamed set 2021-02-06 20:35:18 -07:00
ryanfleury fbe34cd2b8 require token kind to be passed in MD_Parse_Require, to avoid detecting strings that are in string constants 2021-02-06 20:26:39 -07:00
ryanfleury 9da8264116 add const and volatile to type exprs; fix tag list parsing bug, restrict '@'s to symbol tokens 2021-02-06 20:23:29 -07:00
Miguel Lechon d96d76f167 Linux-specific directory listing. 2021-01-31 09:09:53 +01:00
ryanfleury 289b9af732 adjust error/warning output to match MSVC/Clang/etc. format; fix infinite loop bug in index calculation 2021-01-29 12:18:56 -07:00
ryanfleury e8af78ed4c MD_NodeTable_Insert preserve order 2021-01-29 12:18:56 -07:00
Miguel Lechon 8a09a5c315 Avoid fopen newline processing. 2021-01-26 07:23:26 +01:00
Miguel Lechon 957996c6fa Add C code generation example to clang and linux build scripts. 2021-01-26 06:48:53 +01:00
ryanfleury 5e48bf8693 C code generation sample, array expressions 2021-01-22 14:58:33 -07:00
ryanfleury 1a2a47e88d Move all ExprKind metadata into a single table 2021-01-22 14:03:16 -07:00
ryanfleury 7e62679ef6 License information. 2021-01-21 23:48:06 -07:00
ryanfleury b73fc82c14 Merge 2021-01-21 23:47:23 -07:00
ryanfleury 2d0e40637b Add license file, and license information to all files=. 2021-01-21 23:46:17 -07:00
Miguel Lechon 4d2565b3f3 POSIX directory listing. 2021-01-21 20:09:11 +01:00