A parse utility for PEG parsers, which includes:
Grammar tasks are inspired by the Caterpillar logic game.
In each task, a user has to construct a grammar that would be similar to a task grammar (which is hidden) by testing different inputs. For each input the program says whether it is valid for the task grammar or not. To make it easier, each task already has 5 valid and invalid inputs.
Suppose we are given a task, and we know that following inputs are valid:
01010101
101
11100001
110101011
00110
And following are invalid:
0
1
1111
00
0000
We can assume that input is valid if it contains both 1 and 0. Let's create a grammar and test it:
We get: WA: 101
.
It is wrong because we need even number of ones. Therefore, this grammar should work: