scripts/specialize-patch: Fix #elif handling

git-svn-id: http://svn.code.sf.net/p/scst/svn/trunk@6511 d57e44dd-8a1f-0410-8b47-8ef2f437770f
This commit is contained in:
Bart Van Assche
2015-09-17 18:39:14 +00:00
parent f4a57df52b
commit f1df6a389b

View File

@@ -215,22 +215,22 @@ function evaluate(stmnt, pattern, arg, op, result) {
sub(pattern, (op[1] != 0) && (op[2] != 0), stmnt)
}
pattern="^+#if[[:blank:]]*([01])[[:blank:]]*\\&\\&[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))$"
pattern="^+#(if|elif)[[:blank:]]*([01])[[:blank:]]*\\&\\&[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))$"
while (match(stmnt, pattern, op) != 0)
{
stmnt = "+#if " (op[1] != 0 ? op[2] : op[1])
stmnt = "+#" op[1] " " (op[2] != 0 ? op[3] : op[2])
}
pattern="^+#if[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))\\&\\&[[:blank:]]*([01])[[:blank:]]*$"
pattern="^+#(if|elif)[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))\\&\\&[[:blank:]]*([01])[[:blank:]]*$"
while (match(stmnt, pattern, op) != 0)
{
stmnt = "+#if " (op[2] != 0 ? op[1] : op[2])
stmnt = "+#" op[1] " " (op[3] != 0 ? op[2] : op[3])
}
pattern="^+#if[[:blank:]]*(!*[[:blank:]]*[A-Za-z0-9_]*)[[:blank:]]*\\&\\&[[:blank:]]*([01])[[:blank:]]*$"
pattern="^+#(if|elif)[[:blank:]]*(!*[[:blank:]]*[A-Za-z0-9_]*)[[:blank:]]*\\&\\&[[:blank:]]*([01])[[:blank:]]*$"
while (match(stmnt, pattern, op) != 0)
{
stmnt = "+#if " (op[2] != 0 ? op[1] : op[2])
stmnt = "+#" op[1] " " (op[3] != 0 ? op[2] : op[3])
}
pattern="(-*[0-9]+)[[:blank:]]*\\|\\|[[:blank:]]*(-*[0-9]+)"
@@ -239,10 +239,10 @@ function evaluate(stmnt, pattern, arg, op, result) {
sub(pattern, (op[1] != 0) || (op[2] != 0), stmnt)
}
pattern="^+#if[[:blank:]]*([01])[[:blank:]]*\\|\\|[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))$"
pattern="^+#(if|elif)[[:blank:]]*([01])[[:blank:]]*\\|\\|[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))$"
while (match(stmnt, pattern, op) != 0)
{
stmnt = "+#if " (op[1] == 0 ? op[2] : op[1])
stmnt = "+#" op[1] " " (op[2] == 0 ? op[3] : op[2])
}
pattern="\\(([01])[[:blank:]]*\\|\\|[[:blank:]]*(!*[[:blank:]]*defined[[:blank:]]*\\([[:blank:]]*[A-Za-z0-9_]*[[:blank:]]*\\))\\)"