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