Skip to content

Commit 3ad44bc

Browse files
committed
Merge branch 'master' of https://github.com/mathics/Mathics into useasyforxmlgraphics
2 parents b97bbb9 + fb978ca commit 3ad44bc

19 files changed

Lines changed: 67 additions & 64 deletions

File tree

.github/workflows/osx.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,9 @@ jobs:
2424
brew install llvm@9
2525
python -m pip install --upgrade pip
2626
LLVM_CONFIG=/usr/local/Cellar/llvm@9/9.0.1_2/bin/llvm-config pip install llvmlite
27-
python -m pip install -e git://github.com/Mathics3/mathics-scanner.git#egg=Mathics_Scanner
2827
- name: Install Mathics
2928
run: |
30-
make
29+
make develop
3130
- name: Test Mathics
3231
run: |
3332
pip install pytest pexpect

.github/workflows/ubuntu.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,11 +22,10 @@ jobs:
2222
run: |
2323
sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev
2424
python -m pip install --upgrade pip
25-
python -m pip install -e git://github.com/Mathics3/mathics-scanner.git#egg=Mathics_Scanner
2625
- name: Install Mathics
2726
run: |
2827
sed -i "s/'sympy==[0-9]\.[0-9]\.[0-9]', //" setup.py
29-
make
28+
make develop
3029
- name: Test Mathics
3130
run: |
3231
pip install pytest pexpect

.travis.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@ before_install:
1919
- pip install ipywidgets ipykernel requests IPython==5.0.0 langid pycountry pyenchant lxml matplotlib unittest2 pexpect
2020
- python travis.py
2121
- pip install cython
22-
- pip install -e git://github.com/Mathics3/mathics-scanner.git#egg=Mathics_Scanner
2322
install:
2423
- sed -i "s/'sympy==[0-9]\.[0-9]\.[0-9]', //" setup.py
2524
- make develop

examples/symbolic_logic/gries_schneider/test_gs.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,12 @@
66
from mathics.core.expression import Expression, Integer, Rational, Symbol
77
from mathics.core.definitions import Definitions
88
from mathics.core.evaluation import Evaluation
9-
from mathics.core.parser import SingleLineFeeder, parse
9+
from mathics.core.parser import MathicsSingleLineFeeder, parse
1010

1111
definitions = Definitions(add_builtin=True)
1212

1313
for i in range(1, 4):
1414
evaluation = Evaluation(definitions=definitions, catch_interrupt=False)
1515

16-
expr = parse(definitions, SingleLineFeeder(f"<< GS{i}.m"))
16+
expr = parse(definitions, MathicsSingleLineFeeder(f"<< GS{i}.m"))
1717
expr.evaluate(evaluation)
18-
19-

mathics/benchmark.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515

1616

1717
import mathics
18-
from mathics.core.parser import parse, MultiLineFeeder, SingleLineFeeder
18+
from mathics.core.parser import parse, MathicsMultiLineFeeder, MathicsSingleLineFeeder
1919
from mathics.core.definitions import Definitions
2020
from mathics.core.evaluation import Evaluation
2121

@@ -126,7 +126,7 @@ def truncate_line(string):
126126

127127
def benchmark_parse(expression_string):
128128
print(" '{0}'".format(truncate_line(expression_string)))
129-
timeit(lambda: parse(definitions, SingleLineFeeder(expression_string)))
129+
timeit(lambda: parse(definitions, MathicsSingleLineFeeder(expression_string)))
130130

131131

132132
def benchmark_parse_file(fname):
@@ -140,7 +140,7 @@ def benchmark_parse_file(fname):
140140
code = f.read().decode('utf-8')
141141

142142
def do_parse():
143-
feeder = MultiLineFeeder(code)
143+
feeder = MathicsMultiLineFeeder(code)
144144
while not feeder.empty():
145145
parse(definitions, feeder)
146146
timeit(do_parse)
@@ -156,13 +156,13 @@ def benchmark_parser():
156156

157157
def benchmark_format(expression_string):
158158
print(" '{0}'".format(expression_string))
159-
expr = parse(definitions, SingleLineFeeder(expression_string))
159+
expr = parse(definitions, MathicsSingleLineFeeder(expression_string))
160160
timeit(lambda: expr.default_format(evaluation, "FullForm"))
161161

162162

163163
def benchmark_expression(expression_string):
164164
print(" '{0}'".format(expression_string))
165-
expr = parse(definitions, SingleLineFeeder(expression_string))
165+
expr = parse(definitions, MathicsSingleLineFeeder(expression_string))
166166
timeit(lambda: expr.evaluate(evaluation))
167167

168168

mathics/builtin/arithmetic.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1309,19 +1309,19 @@ class PossibleZeroQ(SympyFunction):
13091309
<dd>returns 'True' if basic symbolic and numerical methods suggest that expr has value zero, and 'False' otherwise.
13101310
</dl>
13111311
1312-
Test whether a numeric expression is zero:
1313-
>> PossibleZeroQ[E^(I Pi/4) - (-1)^(1/4)]
1314-
= True
1312+
## Test whether a numeric expression is zero:
1313+
## >> PossibleZeroQ[E^(I Pi/4) - (-1)^(1/4)]
1314+
## = True
13151315
1316-
The determination is approximate.
1316+
## The determination is approximate.
13171317
13181318
Test whether a symbolic expression is likely to be identically zero:
13191319
>> PossibleZeroQ[(x + 1) (x - 1) - x^2 + 1]
13201320
= True
13211321
13221322
1323-
>> PossibleZeroQ[(E + Pi)^2 - E^2 - Pi^2 - 2 E Pi]
1324-
= True
1323+
## >> PossibleZeroQ[(E + Pi)^2 - E^2 - Pi^2 - 2 E Pi]
1324+
## = True
13251325
13261326
Show that a numeric expression is nonzero:
13271327
>> PossibleZeroQ[E^Pi - Pi^E]

mathics/builtin/evaluation.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -110,11 +110,12 @@ class IterationLimit(Predefined):
110110
= $Aborted
111111
#> ClearAll[f];
112112
113-
#> ClearAll[f];
114-
#> f[x_, 0] := x; f[x_, n_] := Module[{y = x + 1}, f[y, n - 1]];
115-
#> Block[{$IterationLimit = 20}, f[0, 100]]
116-
= 100
117-
#> ClearAll[f];
113+
# FIX Later
114+
# #> ClearAll[f];
115+
# #> f[x_, 0] := x; f[x_, n_] := Module[{y = x + 1}, f[y, n - 1]];
116+
# #> Block[{$IterationLimit = 20}, f[0, 100]]
117+
# = 100
118+
# #> ClearAll[f];
118119
"""
119120

120121
name = "$IterationLimit"

mathics/builtin/files.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,8 @@
2323
import os.path as osp
2424
from itertools import chain
2525

26-
from mathics_scanner import TranslateError, FileLineFeeder
26+
from mathics_scanner import TranslateError
27+
from mathics.core.parser import MathicsFileLineFeeder
2728

2829
from mathics.core.expression import (
2930
Expression,
@@ -2183,7 +2184,7 @@ def check_options(options):
21832184
if trace_fn:
21842185
trace_fn(pypath)
21852186
with mathics_open(pypath, "r") as f:
2186-
feeder = FileLineFeeder(f, trace_fn)
2187+
feeder = MathicsFileLineFeeder(f, trace_fn)
21872188
while not feeder.empty():
21882189
try:
21892190
query = parse(definitions, feeder)

mathics/core/evaluation.py

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,6 @@ def __init__(self, value, tag=None):
5959
self.value = value
6060

6161

62-
6362
def _thread_target(request, queue) -> None:
6463
try:
6564
result = request()
@@ -229,11 +228,7 @@ def display(self, data, metadata):
229228

230229
class Evaluation(object):
231230
def __init__(
232-
self,
233-
definitions=None,
234-
output=None,
235-
format="text",
236-
catch_interrupt=True
231+
self, definitions=None, output=None, format="text", catch_interrupt=True
237232
) -> None:
238233
from mathics.core.definitions import Definitions
239234
from mathics.core.expression import Symbol
@@ -263,9 +258,9 @@ def __init__(
263258

264259
def parse(self, query):
265260
"Parse a single expression and print the messages."
266-
from mathics.core.parser import SingleLineFeeder
261+
from mathics.core.parser import MathicsSingleLineFeeder
267262

268-
return self.parse_feeder(SingleLineFeeder(query))
263+
return self.parse_feeder(MathicsSingleLineFeeder(query))
269264

270265
def parse_evaluate(self, query, timeout=None):
271266
expr = self.parse(query)

mathics/core/parser/__init__.py

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,12 @@
1-
#!/usr/bin/env python3
21
# -*- coding: utf-8 -*-
32

4-
from mathics_scanner import (
5-
FileLineFeeder,
6-
LineFeeder,
7-
MultiLineFeeder,
8-
SingleLineFeeder,
9-
is_symbol_name,
10-
)
3+
from mathics_scanner import is_symbol_name
114

5+
from mathics.core.parser.feed import (
6+
MathicsFileLineFeeder,
7+
MathicsLineFeeder,
8+
MathicsMultiLineFeeder,
9+
MathicsSingleLineFeeder,
10+
)
1211
from mathics.core.parser.util import parse, parse_builtin_rule
1312
from mathics.core.parser.operators import all_operator_names

0 commit comments

Comments
 (0)