Skip to content

Latest commit

 

History

History
33 lines (22 loc) · 650 Bytes

zero_or_more.md

File metadata and controls

33 lines (22 loc) · 650 Bytes

Zero Or More

Another operator for repetition is *. Here is an example:

S: A*;

terminals

A: 'a';

This grammar accepts a sequence of a as well as the empty string.

Formally, S: A*; is shorthand for the following grammar rules:

S: A0;
@vec
A0: A1 {nops} | EMPTY;
@vec
A1: A1 A | A;

We will explain @vec later.

Additionally, nops disables a greedy strategy that is applied by rcomp. But since the strategy is disable by default, adding nops or not does not make any differences in this tutorial.

➡️ Next: Separators

📘 Back: Table of contents