This file is indexed.

/usr/share/pyshared/sympy/parsing/mathematica.py is in python-sympy 0.7.1.rc1-3.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
from re import match
from sympy import sympify

def mathematica (s):
    return sympify(parse(s))

def parse (s):
    s = s.strip()

    #Begin rules
    rules = (
    (r"\A(\w+)\[([^\]]+[^\[]*)\]\Z", #Function call
        lambda m: translateFunction(m.group(1)) + "(" + parse(m.group(2)) + ")" ),

    (r"\((.+)\)\((.+)\)", #Parenthesized implied multiplication
        lambda m: "(" + parse(m.group(1)) + ")*(" + parse(m.group(2)) + ")" ),

    (r"\A\((.+)\)\Z", #Parenthesized expression
        lambda m: "(" + parse(m.group(1)) + ")" ),

    (r"\A(.*[\w\.])\((.+)\)\Z", #Implied multiplication - a(b)
        lambda m: parse(m.group(1)) + "*(" + parse(m.group(2)) + ")" ),

    (r"\A\((.+)\)([\w\.].*)\Z", #Implied multiplication - (a)b
        lambda m: "(" + parse(m.group(1)) + ")*" + parse(m.group(2)) ),

    (r"\A([\d\.]+)([a-zA-Z].*)\Z", #Implied multiplicatin - 2a
        lambda m: parse(m.group(1)) + "*" + parse(m.group(2)) ),

    (r"\A([^=]+)([\^\-\*/\+=]=?)(.+)\Z", #Infix operator
        lambda m: parse(m.group(1)) + translateOperator(m.group(2)) + parse(m.group(3)) ))
    #End rules

    for rule, action in rules:
        m = match(rule, s)
        if m:
            return action(m)

    return s

def translateFunction (s):
    if s[0:3] == "Arc":
        return "a" + s[3:]
    return s.lower()

def translateOperator (s):
    dictionary = {'^':'**'}
    if s in dictionary:
        return dictionary[s]
    return s