Commit Graph

63 Commits

Author SHA1 Message Date
ryanfleury f15fc77bfa introspection helper docs; remove redundant node-sibling helper; ensure that any of the introspection APIs doing string matching take match flags 2021-06-30 22:54:56 -06:00
ryanfleury 487ef06b4f get rid of digraph comments, use regular tests as ways of verifying that there is one node per symbolic character. docs pass #1 2021-06-30 15:50:03 -06:00
Allen Webster a477709af3 setup lexing to work (pretty well) with JSON) 2021-06-30 17:46:31 -04:00
Allen Webster bb6face7fe fix some broken 'error' tests 2021-06-30 17:13:31 -04:00
Allen Webster 83b02b1772 update single-line-comment tests 2021-06-30 16:51:38 -04:00
Allen Webster e0ed76c62f Merge branch 'master' of https://github.com/Dion-Systems/metadesk 2021-06-30 15:00:47 -04:00
Allen Webster 1bcd741eeb fill out tests for more corner cases 2021-06-30 14:59:26 -04:00
ryanfleury 5358883431 get stb_sprintf working for MD_String8s 2021-06-30 12:47:53 -06:00
ryanfleury 097541c9b7 fix build errors; remove dumb non-working printf annotations; move C++ user-defined-literal thing into the header 2021-06-30 12:17:30 -06:00
Allen Webster 3648548cfe condense string flags 2021-06-30 14:09:32 -04:00
ryanfleury bb8bfd4254 update sanity tests in accordance with new tag string rule 2021-06-29 23:03:15 -06:00
ryanfleury 0dea16c4c1 ensure MD_Error node parent is filled out always; cleanup a few things 2021-06-29 22:40:07 -06:00
ryanfleury f73f643aed kill old parser 2021-06-29 20:48:37 -06:00
ryanfleury 055c152279 update usage of tree outputter 2021-06-29 20:43:58 -06:00
ryanfleury fb5f420d07 converge new parser on errors and everything 2021-06-29 20:43:58 -06:00
ryanfleury c3c863c7fa c++ build test, add user-defined-literals for metadesk strings 2021-06-29 20:43:58 -06:00
Allen Webster 4c6ab88708 test cases for integer/float lexing to get C style integers, JSON/C style floats 2021-06-28 11:09:27 -04:00
Allen Webster e9c5f28e4b apply grammar plan to sanity tests 2021-06-28 08:06:18 -04:00
ryanfleury 647dd40a0f kill char literal 2021-06-24 22:57:06 -06:00
ryanfleury d1fe089804 bugfix; build dummy root node for error marker nodes, to ensure that they have an accurate way to tell their location 2021-06-24 22:46:56 -06:00
ryanfleury 9175305b08 rely on tree root for filename 2021-06-24 22:12:17 -06:00
Allen Webster 0832e601b7 cut namespaces 2021-06-12 10:17:14 -07:00
Allen Webster fb999476fa [map] overhaul the maps, fewer parts, fewer paths, fewer knobs; same great results 2021-06-06 20:15:48 -07:00
Allen Webster d390326e17 [impl] another test for a weird grammar problem 2021-06-06 01:28:03 -07:00
Allen Webster bf2d161158 [impl] more passing over the parser; found an odd part and made a test to reveal a bug 2021-06-06 01:06:36 -07:00
Allen Webster c3ec42c70c [api] cut subtle wrapper node constructors 2021-06-05 22:56:35 -07:00
Allen Webster 6450cd703c [impl] test for string contents; reduce all string lexing; notes about delimiter error tokens 2021-06-05 22:40:43 -07:00
Allen Webster 8e1b38e21f [namespace] uncovered bug in parser; added test case for namespaces 2021-06-05 18:27:02 -07:00
Ryan Fleury 9c0babe0a6 node flags seeking helper 2021-04-24 12:56:02 -06:00
Allen Webster f52362ef2c rename C helper types; cleanup pass over everything related to C helpers 2021-04-16 19:24:17 -07:00
Allen Webster 3c6cc0414d organize out C helpers 2021-04-16 18:17:46 -07:00
ryanfleury 714cb85824 fix samples/tests for removal of JoinStringListWithSeparator helper 2021-04-12 13:21:19 -06:00
ryanfleury 6dc8487965 combine StringMatchFlags and NodeMatchFlags into MD_MatchFlags 2021-04-01 22:21:46 -06:00
Miguel Lechon c38bc6de30 [namespaces] Build namespaces as lists of reference nodes. 2021-03-29 17:51:36 +02:00
Miguel Lechon 6478fb24c1 Error for MD_ParseWholeFile of missing file. 2021-03-27 15:47:54 +01:00
Miguel Lechon 20f85761c7 [map] Expose PtrMap on md.h. Remove NodeTable defines. 2021-03-22 15:45:36 +01:00
Miguel Lechon eef82b0554 Pipe error location through error->node. 2021-03-18 17:40:06 +01:00
Miguel Lechon f4965c782d Multi-line string escaping. 2021-03-18 12:28:16 +01:00
Miguel Lechon 6026c3639d Remove MD_Map aliases. 2021-03-16 19:15:48 +01:00
Miguel Lechon 541a5443b6 Test and avoid MD_StringMap collisions. 2021-03-16 19:05:48 +01:00
Miguel Lechon 7645afbcc1 [grammar test] Store production depth on MD_PtrMap. 2021-03-16 11:20:18 +01:00
Miguel Lechon fed011fc52 Switch to map_proposal. 2021-03-16 11:11:13 +01:00
Miguel Lechon eb0cf0c9bf MD_Node->at fix.
node->at now points to the first relevant character in the source .md file.
For namespaces and tags that is the first character of the identifier
(not the '#'/'@' symbols).
For labels it's the first character in node->whole_string if non-empty.
For unlabeled sets it's the opening '(', '[' or '{' character.
2021-03-16 09:19:02 +01:00
Miguel Lechon 084d55d55d Report and skip non-ASCII characters. 2021-03-14 12:12:30 +01:00
Miguel Lechon e3357f0759 Syntax error sanity tests. 2021-03-14 11:24:26 +01:00
Miguel Lechon e4fbe7a81d More parsing errors.
Invalid hash directives.
Invalid tag token.
Reserved characters.
2021-03-13 10:01:08 +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
Miguel Lechon 2d22fc17d5 [grammar test] Remove malformed tagging. Give up on comments. 2021-03-08 20:02:27 +01:00
Miguel Lechon 493f4239d5 [grammar test] Cleaner grammar. 2021-03-05 09:51:26 +01:00