ryanfleury
28ea290661
remove MD_JoinStringListWithSeparator, just have separator argument in MD_JoinStringList; helper for making node references
2021-04-11 21:29:35 -06:00
ryanfleury
1b89d3cc90
docs work; clean up TODO list; add TODOs for a couple of helpers and changes
2021-04-11 21:20:51 -06:00
ryanfleury
6dc8487965
combine StringMatchFlags and NodeMatchFlags into MD_MatchFlags
2021-04-01 22:21:46 -06:00
Allen Webster
e1c0656e73
[plugin macros] clean up all usage of context; also document a few more things
2021-03-30 21:23:05 -07:00
Allen Webster
cc38ed2c96
[main] fix initializer of MD_Node
2021-03-30 20:52:22 -07:00
Allen Webster
c30090c483
[docs] documentation of MD_Node
2021-03-30 19:02:00 -07:00
Allen Webster
e38dbca401
[docs] document node kinds and flags; couple random tweaks
2021-03-30 18:19:26 -07:00
Miguel Lechon
c38bc6de30
[namespaces] Build namespaces as lists of reference nodes.
2021-03-29 17:51:36 +02:00
Miguel Lechon
230fd4043c
Improve location of MD_Error.
2021-03-27 18:14:17 +01:00
Miguel Lechon
6478fb24c1
Error for MD_ParseWholeFile of missing file.
2021-03-27 15:47:54 +01:00
Miguel Lechon
8ab96ecaea
Simpler MD_Error.
...
The catastrophic error flag is now subsumed under MD_MessageKind.
The filename member is accessible through the compulsory node pointer.
2021-03-23 11:44:37 +01:00
Miguel Lechon
20f85761c7
[map] Expose PtrMap on md.h. Remove NodeTable defines.
2021-03-22 15:45:36 +01:00
Allen Webster
560be2c42a
[base] remove the wrapper FindLastSubstring
2021-03-21 21:32:22 -07:00
Allen Webster
b24b0e0491
[map] fix header signature for StringMap
2021-03-21 20:49:16 -07:00
Allen Webster
369ebd7a62
[docs] catch up to new map integration; change function forward declarations for map
2021-03-21 20:40:43 -07:00
Miguel Lechon
7a06b11f49
Remove catastrophic from MD_Error and add MD_MessageKind to it.
2021-03-18 18:24:41 +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
55943b79fc
Move map into md.h asn md_impl.c.
2021-03-16 11:28:41 +01:00
Miguel Lechon
fed011fc52
Switch to map_proposal.
2021-03-16 11:11:13 +01:00
Miguel Lechon
d5ab0e88df
Rename MD_TokenKind_NonASCII to MD_TokenKind_BadCharacter.
2021-03-16 09:46:53 +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
Allen Webster
52fdfdbc38
fixup docs to match this version of the code
2021-03-14 18:43:23 -07:00
Allen Webster
b72a53e84c
copy over docs from the wrong repo; take out error/warning wrappers
2021-03-14 17:54:04 -07:00
Allen Webster
a0ef78a49a
trim -> skip/chop
2021-03-14 17:40:57 -07:00
Allen Webster
9fe3c0f09a
string split cleanup
2021-03-14 17:37:30 -07:00
Allen Webster
30b8466a12
string -> integer implementation
2021-03-14 17:35:12 -07: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
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
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
bf9bfae929
comment_after fix.
2021-03-05 10:35:40 +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
1304086266
Escape `` strings. Allow leading underscores in identifiers.
2021-02-22 14:53:23 +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
ryanfleury
2e2ff1c42f
use strtoll instead of atoll
2021-02-16 13:49:27 -07: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