summaryrefslogtreecommitdiffstats
path: root/sca-java-2.x/tags/2.0-Beta2-RC1/modules/implementation-python-runtime/src/main/resources/elemutil.py
diff options
context:
space:
mode:
Diffstat (limited to 'sca-java-2.x/tags/2.0-Beta2-RC1/modules/implementation-python-runtime/src/main/resources/elemutil.py')
-rw-r--r--sca-java-2.x/tags/2.0-Beta2-RC1/modules/implementation-python-runtime/src/main/resources/elemutil.py168
1 files changed, 0 insertions, 168 deletions
diff --git a/sca-java-2.x/tags/2.0-Beta2-RC1/modules/implementation-python-runtime/src/main/resources/elemutil.py b/sca-java-2.x/tags/2.0-Beta2-RC1/modules/implementation-python-runtime/src/main/resources/elemutil.py
deleted file mode 100644
index ad971ba6ba..0000000000
--- a/sca-java-2.x/tags/2.0-Beta2-RC1/modules/implementation-python-runtime/src/main/resources/elemutil.py
+++ /dev/null
@@ -1,168 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements. See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership. The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License. You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing,
-# software distributed under the License is distributed on an
-# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
-# KIND, either express or implied. See the License for the
-# specific language governing permissions and limitations
-# under the License.
-
-# Functions to help represent data as lists of elements and attributes
-
-from util import *
-
-element = "'element"
-attribute = "'attribute"
-atsign = "'@"
-
-# Return true if a value is an element
-def isElement(v):
- if not isList(v) or isNil(v) or v == None or car(v) != element:
- return False
- return True
-
-# Return true if a value is an attribute
-def isAttribute(v):
- if not isList(v) or isNil(v) or v == None or car(v) != attribute:
- return False
- return True
-
-# Return the name of attribute
-def attributeName(l):
- return cadr(l)
-
-# Return the value of attribute
-def attributeValue(l):
- return caddr(l)
-
-# Return the name of an element
-def elementName(l):
- return cadr(l)
-
-# Return true if an element has children
-def elementHasChildren(l):
- return not isNil(cddr(l))
-
-# Return the children of an element
-def elementChildren(l):
- return cddr(l)
-
-# Return true if an element has a value
-def elementHasValue(l):
- r = reverse(l)
- if isSymbol(car(r)):
- return False
- if isList(car(r)) and not isNil(car(r)) and isSymbol(car(car(r))):
- return False
- return True
-
-# Return the value of an element
-def elementValue(l):
- return car(reverse(l))
-
-# Convert an element to a value
-def elementToValueIsList(v):
- if not isList(v):
- return False
- return isNil(v) or not isSymbol(car(v))
-
-def elementToValue(t):
- if isTaggedList(t, attribute):
- return (atsign + attributeName(t)[1:], attributeValue(t))
- if isTaggedList(t, element):
- if elementHasValue(t):
- if not elementToValueIsList(elementValue(t)):
- return (elementName(t), elementValue(t))
- return cons(elementName(t), (elementsToValues(elementValue(t)),))
- return cons(elementName(t), elementsToValues(elementChildren(t)))
- if not isList(t):
- return t
- return elementsToValues(t)
-
-# Convert a list of elements to a list of values
-def elementToValueIsSymbol(v):
- if not isList(v):
- return False
- if (isNil(v)):
- return False
- if not isSymbol(car(v)):
- return False
- return True
-
-def elementToValueGroupValues(v, l):
- if isNil(l) or not elementToValueIsSymbol(v) or not elementToValueIsSymbol(car(l)):
- return cons(v, l)
- if car(car(l)) != car(v):
- return cons(v, l)
- if not elementToValueIsList(cadr(car(l))):
- g = (car(v), (cdr(v), cdr(car(l))))
- return elementToValueGroupValues(g, cdr(l))
- g = (car(v), cons(cdr(v), cadr(car(l))))
- return elementToValueGroupValues(g, cdr(l))
-
-def elementsToValues(e):
- if isNil(e):
- return e
- return elementToValueGroupValues(elementToValue(car(e)), elementsToValues(cdr(e)))
-
-# Convert a value to an element
-def valueToElement(t):
- if isList(t) and not isNil(t) and isSymbol(car(t)):
- n = car(t)
- v = cadr(t)
- if not isList(v):
- if n[0:2] == atsign:
- return (attribute, n[1:], v)
- return (element, n, v)
- if isNil(v) or not isSymbol(car(v)):
- return cons(element, cons(n, (valuesToElements(v),)))
- return cons(element, cons(n, valuesToElements(cdr(t))))
- if not isList(t):
- return t
- return valuesToElements(t)
-
-# Convert a list of values to a list of elements
-def valuesToElements(l):
- if isNil(l):
- return l
- return cons(valueToElement(car(l)), valuesToElements(cdr(l)))
-
-# Return a selector lambda function which can be used to filter elements
-def evalSelect(s, v):
- if isNil(s):
- return True
- if isNil(v):
- return False
- if car(s) != car(v):
- return False
- return evalSelect(cdr(s), cdr(v))
-
-def selector(s):
- return lambda v: evalSelect(s, v)
-
-# Return the value of the attribute with the given name
-def namedAttributeValue(name, l):
- f = filter(lambda v: isAttribute(v) and attributeName(v) == name, l)
- if isNil(f):
- return None
- return caddr(car(f))
-
-# Return child elements with the given name
-def namedElementChildren(name, l):
- return filter(lambda v: isElement(v) and elementName(v) == name, l)
-
-# Return the child element with the given name
-def namedElementChild(name, l):
- f = namedElementChildren(name, l)
- if isNil(f):
- return None
- return car(f)
-