diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2008-03-19 04:43:46 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2008-03-19 04:43:46 (GMT) |
commit | 5e37baea8007cb64b65a180e4d6c80de292a8a4a (patch) | |
tree | af8b06bfe03af755de5bf83e9aa01f299186a8f7 /Lib/lib2to3/PatternGrammar.txt | |
parent | a4d77898db3856cd3d8c9411d024bea88be25b66 (diff) | |
download | cpython-5e37baea8007cb64b65a180e4d6c80de292a8a4a.zip cpython-5e37baea8007cb64b65a180e4d6c80de292a8a4a.tar.gz cpython-5e37baea8007cb64b65a180e4d6c80de292a8a4a.tar.bz2 |
Import lib2to3.
Diffstat (limited to 'Lib/lib2to3/PatternGrammar.txt')
-rw-r--r-- | Lib/lib2to3/PatternGrammar.txt | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Lib/lib2to3/PatternGrammar.txt b/Lib/lib2to3/PatternGrammar.txt new file mode 100644 index 0000000..36bf814 --- /dev/null +++ b/Lib/lib2to3/PatternGrammar.txt @@ -0,0 +1,28 @@ +# 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 '>' |