Spaces:
Build error
Build error
# Copyright 2006 Google, Inc. All Rights Reserved. | |
# Licensed to PSF under a Contributor Agreement. | |
# A grammar to describe tree matching patterns. | |
# Not shown here: | |
# - 'TOKEN' stands for any token (leaf node) | |
# - 'any' stands for any node (leaf or interior) | |
# With 'any' we can still specify the sub-structure. | |
# The start symbol is 'Matcher'. | |
Matcher: Alternatives ENDMARKER | |
Alternatives: Alternative ('|' Alternative)* | |
Alternative: (Unit | NegatedUnit)+ | |
Unit: [NAME '='] ( STRING [Repeater] | |
| NAME [Details] [Repeater] | |
| '(' Alternatives ')' [Repeater] | |
| '[' Alternatives ']' | |
) | |
NegatedUnit: 'not' (STRING | NAME [Details] | '(' Alternatives ')') | |
Repeater: '*' | '+' | '{' NUMBER [',' NUMBER] '}' | |
Details: '<' Alternatives '>' | |