Help understanding the parsing rules
I'm currently working on implementing a parser for Dot in Rust. I got most of the parser working using a PEG based parser-combinator set-up. I've been consulting your language specification here
I ran into one issue that I need some help with.
Given a graph like this:
graph {
{ rank=same; a, b, c }
}
What are the tokens a
, b
, c
?
Initially, I thought they were part of a node_stmt
and they are individual node_id
s.
But, as per the specification, each stmt
has to be separated by a ;
and not ,
.
Can someone help me demystify this?
Thanks in advance!