aboutsummaryrefslogtreecommitdiff
path: root/Auxiliary
diff options
context:
space:
mode:
authorIan Hinder <ian.hinder@aei.mpg.de>2012-02-06 17:58:15 -0600
committerIan Hinder <ian.hinder@aei.mpg.de>2012-02-06 17:58:15 -0600
commit01a4164aed15f8444d01caf9fc588576a8d0e37f (patch)
tree896f39d00f5751bc1df1abde0dabb64282f27268 /Auxiliary
parent1e4cc8ea75f3fd79ad3b4bfa4fcb9089aa15e15c (diff)
kranc2.peg: Identify lower and upper indices in the parser
Previously this logic was in Kranc, where it has to be more complicated.
Diffstat (limited to 'Auxiliary')
-rw-r--r--Auxiliary/Grammars/kranc2.peg4
1 files changed, 3 insertions, 1 deletions
diff --git a/Auxiliary/Grammars/kranc2.peg b/Auxiliary/Grammars/kranc2.peg
index a98aaf7..91ea573 100644
--- a/Auxiliary/Grammars/kranc2.peg
+++ b/Auxiliary/Grammars/kranc2.peg
@@ -3,7 +3,9 @@ int = [0-9]+
end = ([ \t]+|#.*)*\r*\n
name = [A-Za-z][A-Za-z0-9]*
uname = [A-Za-z][A-Za-z0-9_]*
-indices = ([_^]({index_symbol}|\({index_expr}(,{index_expr})*\))+)*
+lower_index = ({index_symbol}|\({index_expr}(,{index_expr})*\))
+upper_index = ({index_symbol}|\({index_expr}(,{index_expr})*\))
+indices = (\_{lower_index}+|\^{upper_index}+)*
index_symbol = [a-zA-Z]'*|[0-9]
index_expr = {index_symbol}([+-]{int}|)
tensor = {name}{indices}