Sorry for my delayed reply.
I think I understand better now!

c = block-out ⇒ s-block-line-prefix(n)

just means when it comes to a block-out, c is s-block-line-prefix(n), and parameter c is just a part of production name.
Is my comprehension correct ?

Thank you!

On Sat, Jul 20, 2013 at 2:07 AM, Oren Ben-Kiki <> wrote:
Look for example at production 178.
Basically instead of having 4 different productions s-line-prefix-when-block-in, s-line-prefix-when-block-out, s-line-prefix-when-flow-in, s-line-prefix-when-flow-out we have a single production with a parameter.
When the parameter is "n" we write one production instead of an infinite number (production-when-n-is-0, production-when-n-is-1, ...).

On Fri, Jul 19, 2013 at 4:39 AM, Jianjun Mao <> wrote:
Hi all,

I'm going to write my own parser for YAML.
But now I can't understand the following production.
What does this mean?  c = block-out ⇒ s-block-line-prefix(n) and what are "block-out" and "block-in" ?
Can anyone explain this clearly to me?

[67]s-line-prefix(n,c) ::=c = block-out ⇒ s-block-line-prefix(n)
c = block-in  ⇒ s-block-line-prefix(n)
c = flow-out  ⇒ s-flow-line-prefix(n)
c = flow-in   ⇒ s-flow-line-prefix(n)


See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
Yaml-core mailing list