[pypy-svn] r45037 - in pypy/dist/pypy/lang/scheme: . test

jlg at codespeak.net jlg at codespeak.net
Fri Jul 13 18:19:49 CEST 2007


Author: jlg
Date: Fri Jul 13 18:19:49 2007
New Revision: 45037

Modified:
   pypy/dist/pypy/lang/scheme/object.py
   pypy/dist/pypy/lang/scheme/ssparser.py
   pypy/dist/pypy/lang/scheme/test/test_eval.py
   pypy/dist/pypy/lang/scheme/test/test_object.py
   pypy/dist/pypy/lang/scheme/test/test_parser.py
Log:
s/W_Float/W_Real/; s/W_Fixnum/W_Integer -> r5rs

Modified: pypy/dist/pypy/lang/scheme/object.py
==============================================================================
--- pypy/dist/pypy/lang/scheme/object.py	(original)
+++ pypy/dist/pypy/lang/scheme/object.py	Fri Jul 13 18:19:49 2007
@@ -93,7 +93,7 @@
 class W_Number(W_Root):
     pass
 
-class W_Float(W_Number):
+class W_Real(W_Number):
     def __init__(self, val):
         self.exact = False
         self.floatval = val
@@ -124,7 +124,7 @@
 
             return int_part
 
-class W_Fixnum(W_Float):
+class W_Integer(W_Real):
     def __init__(self, val):
         self.fixnumval = val
         self.exact = True
@@ -277,16 +277,16 @@
         return acc
 
     def unary_oper(self, x):
-        if isinstance(x, W_Fixnum):
-            return W_Fixnum(self.do_unary_oper(x.to_fixnum()))
+        if isinstance(x, W_Integer):
+            return W_Integer(self.do_unary_oper(x.to_fixnum()))
         else:
-            return W_Float(self.do_unary_oper(x.to_float()))
+            return W_Real(self.do_unary_oper(x.to_float()))
 
     def oper(self, x, y):
-        if isinstance(x, W_Fixnum) and isinstance(y, W_Fixnum):
-            return W_Fixnum(self.do_oper(x.to_fixnum(), y.to_fixnum()))
+        if isinstance(x, W_Integer) and isinstance(y, W_Integer):
+            return W_Integer(self.do_oper(x.to_fixnum(), y.to_fixnum()))
         else:
-            return W_Float(self.do_oper(x.to_float(), y.to_float()))
+            return W_Real(self.do_oper(x.to_float(), y.to_float()))
 
 def create_op_class(oper, unary_oper, title, default_result=None):
     class Op(ListOper):
@@ -317,7 +317,7 @@
     if default_result is None:
         Op.default_result = None
     else:
-        Op.default_result = W_Fixnum(default_result)
+        Op.default_result = W_Integer(default_result)
 
     Op.__name__ = "Op" + title
     return Op
@@ -367,7 +367,7 @@
 
 class RealP(PredicateNumber):
     def predicate(self, w_obj):
-        return isinstance(w_obj, W_Float)
+        return isinstance(w_obj, W_Real)
 
 class NumberP(PredicateNumber):
     def predicate(self, w_obj):

Modified: pypy/dist/pypy/lang/scheme/ssparser.py
==============================================================================
--- pypy/dist/pypy/lang/scheme/ssparser.py	(original)
+++ pypy/dist/pypy/lang/scheme/ssparser.py	Fri Jul 13 18:19:49 2007
@@ -1,8 +1,8 @@
 import autopath
 from pypy.rlib.parsing.pypackrat import PackratParser
 from pypy.rlib.parsing.makepackrat import BacktrackException, Status
-from pypy.lang.scheme.object import W_Pair, W_Fixnum, W_String, W_Identifier, \
-        W_Nil, W_Boolean, W_Float, Literal
+from pypy.lang.scheme.object import W_Pair, W_Integer, W_String, W_Identifier, \
+        W_Nil, W_Boolean, W_Real, Literal
 
 def unquote(s):
     str_lst = []
@@ -32,12 +32,12 @@
     FIXNUM:
         c = `\-?(0|([1-9][0-9]*))`
         IGNORE*
-        return {W_Fixnum(int(c))};
+        return {W_Integer(int(c))};
 
     FLOAT:
         c = `\-?[0-9]*\.[0-9]*`
         IGNORE*
-        return {W_Float(float(c))};
+        return {W_Real(float(c))};
 
     BOOLEAN:
         c = `#(t|f)`

Modified: pypy/dist/pypy/lang/scheme/test/test_eval.py
==============================================================================
--- pypy/dist/pypy/lang/scheme/test/test_eval.py	(original)
+++ pypy/dist/pypy/lang/scheme/test/test_eval.py	Fri Jul 13 18:19:49 2007
@@ -4,7 +4,7 @@
 
 def test_eval_obj():
     w_num = W_Pair(W_Identifier("+"),
-                   W_Pair(W_Fixnum(4), W_Pair(W_Fixnum(5), W_Nil())))
+                   W_Pair(W_Integer(4), W_Pair(W_Integer(5), W_Nil())))
     assert w_num.eval(None).to_number() == 9 
 
 def eval_expr(ctx, expr):
@@ -54,13 +54,13 @@
 
 def test_ctx_simple():
     ctx = ExecutionContext()
-    ctx.put("v1", W_Fixnum(4))
-    ctx.put("v2", W_Fixnum(5))
+    ctx.put("v1", W_Integer(4))
+    ctx.put("v2", W_Integer(5))
 
     w_num = eval_expr(ctx, "(+ 1 v1 v2)")
     assert w_num.to_number() == 10
 
-    ctx.put("v2", W_Float(3.2))
+    ctx.put("v2", W_Real(3.2))
     w_num = eval_expr(ctx, "(+ 1 v1 v2)")
     assert w_num.to_number() == 8.2
 
@@ -199,7 +199,7 @@
 
     ctx.put("f1", w_lambda)
     w_result = eval_expr(ctx, "(f1)")
-    assert isinstance(w_result, W_Fixnum)
+    assert isinstance(w_result, W_Integer)
     assert w_result.to_number() == 12
 
 def test_lambda_args():
@@ -207,11 +207,11 @@
     eval_expr(ctx, "(define f1 (lambda (n) n))")
 
     w_result = eval_expr(ctx, "(f1 42)")
-    assert isinstance(w_result, W_Fixnum)
+    assert isinstance(w_result, W_Integer)
     assert w_result.to_number() == 42
 
     w_result = eval_expr(ctx, "((lambda (n m) (+ n m)) 42 -42)")
-    assert isinstance(w_result, W_Fixnum)
+    assert isinstance(w_result, W_Integer)
     assert w_result.to_number() == 0
 
 def test_lambda_top_ctx():
@@ -219,12 +219,12 @@
     eval_expr(ctx, "(define n 42)")
     eval_expr(ctx, "(define f1 (lambda (m) (+ n m)))")
     w_result = eval_expr(ctx, "(f1 -42)")
-    assert isinstance(w_result, W_Fixnum)
+    assert isinstance(w_result, W_Integer)
     assert w_result.to_number() == 0
 
     eval_expr(ctx, "(define n 84)")
     w_result = eval_expr(ctx, "(f1 -42)")
-    assert isinstance(w_result, W_Fixnum)
+    assert isinstance(w_result, W_Integer)
     assert w_result.to_number() == 42
 
 def test_lambda_fac():
@@ -250,11 +250,11 @@
 
     eval_expr(ctx, """(define add6 (adder 6))""")
     w_result = eval_expr(ctx, "(add6 5)")
-    assert isinstance(w_result, W_Fixnum)
+    assert isinstance(w_result, W_Integer)
     assert w_result.to_number() == 11
 
     w_result = eval_expr(ctx, "((adder 6) 5)")
-    assert isinstance(w_result, W_Fixnum)
+    assert isinstance(w_result, W_Integer)
     assert w_result.to_number() == 11
 
 def test_lambda_long_body():
@@ -285,7 +285,7 @@
 
 def test_quote():
     w_fnum = eval_noctx("(quote 42)")
-    assert isinstance(w_fnum, W_Fixnum)
+    assert isinstance(w_fnum, W_Integer)
     assert w_fnum.to_number() == 42
 
     w_sym = eval_noctx("(quote symbol)")
@@ -313,7 +313,7 @@
 
 def test_quote_parse():
     w_fnum = eval_noctx("'42")
-    assert isinstance(w_fnum, W_Fixnum)
+    assert isinstance(w_fnum, W_Integer)
     assert w_fnum.to_number() == 42
 
     w_sym = eval_noctx("'symbol")
@@ -341,7 +341,7 @@
 
 def test_list():
     ctx = ExecutionContext()
-    ctx.put("var", W_Fixnum(42))
+    ctx.put("var", W_Integer(42))
     w_lst = eval_expr(ctx, "(list 1 var (+ 2 1) 'a)")
     assert isinstance(w_lst, W_Pair)
     assert w_lst.car.to_number() == 1
@@ -352,7 +352,7 @@
 
 def test_let():
     ctx = ExecutionContext()
-    w_global = W_Fixnum(0)
+    w_global = W_Integer(0)
     ctx.put("var", w_global)
     w_result = eval_expr(ctx, "(let ((var 42) (x (+ 2 var))) (+ var x))")
     assert w_result.to_number() == 44

Modified: pypy/dist/pypy/lang/scheme/test/test_object.py
==============================================================================
--- pypy/dist/pypy/lang/scheme/test/test_object.py	(original)
+++ pypy/dist/pypy/lang/scheme/test/test_object.py	Fri Jul 13 18:19:49 2007
@@ -17,22 +17,22 @@
     
 def test_fixnum():
     num = 12345
-    w_num = W_Fixnum(num)
+    w_num = W_Integer(num)
     assert num == w_num.to_fixnum()
     assert float(num) == w_num.to_float()
     assert w_num.to_boolean() is True
 
 def test_float():
     num = 12345.567
-    w_num = W_Float(num)
+    w_num = W_Real(num)
     assert num == w_num.to_float()
     assert int(num) == w_num.to_fixnum()
     assert w_num.to_boolean() is True
 
 def test_pair():
-    c1 = W_Fixnum(1)
+    c1 = W_Integer(1)
     c2 = W_String("c2")
-    c3 = W_Float(0.3)
+    c3 = W_Real(0.3)
     c4 = W_Nil()
     p2 = W_Pair(c3, c4)
     p1 = W_Pair(c2, p2)
@@ -55,7 +55,7 @@
     assert w_id.to_boolean() is True
 
 def test_ctx():
-    w_fnum = W_Fixnum(12)
+    w_fnum = W_Integer(12)
     w_symb = W_Symbol("symb")
 
     ctx = ExecutionContext({})
@@ -67,15 +67,15 @@
     assert ctx.get("no_such_key") is None
 
 def test_location():
-    w_fnum = W_Fixnum(42)
+    w_fnum = W_Integer(42)
     loc = Location(w_fnum)
     assert isinstance(loc, Location)
     assert loc.obj is w_fnum
 
 def test_ctx_sets():
-    w_fnum = W_Fixnum(42)
-    w_fnum2 = W_Fixnum(43)
-    w_fnum3 = W_Fixnum(44)
+    w_fnum = W_Integer(42)
+    w_fnum2 = W_Integer(43)
+    w_fnum3 = W_Integer(44)
 
     ctx = ExecutionContext({})
     ctx.put("v1", w_fnum)

Modified: pypy/dist/pypy/lang/scheme/test/test_parser.py
==============================================================================
--- pypy/dist/pypy/lang/scheme/test/test_parser.py	(original)
+++ pypy/dist/pypy/lang/scheme/test/test_parser.py	Fri Jul 13 18:19:49 2007
@@ -1,6 +1,6 @@
 import py
 from pypy.lang.scheme.ssparser import parse
-from pypy.lang.scheme.object import W_Boolean, W_Float, W_Fixnum, W_String
+from pypy.lang.scheme.object import W_Boolean, W_Real, W_Integer, W_String
 from pypy.lang.scheme.object import W_Pair, W_Nil, W_Symbol, W_Identifier
 
 def parse_sexpr(expr):
@@ -8,9 +8,9 @@
 
 def unwrap(w_obj):
     """for testing purposes: unwrap a scheme object into a python object"""
-    if isinstance(w_obj, W_Float):
+    if isinstance(w_obj, W_Real):
         return w_obj.to_number()
-    elif isinstance(w_obj, W_Fixnum):
+    elif isinstance(w_obj, W_Integer):
         return w_obj.to_number()
     elif isinstance(w_obj, W_String):
         return w_obj.strval
@@ -30,14 +30,14 @@
 
 def test_simple():
     w_fixnum = parse_sexpr('1')
-    assert isinstance(w_fixnum, W_Fixnum)
+    assert isinstance(w_fixnum, W_Integer)
     assert unwrap(w_fixnum) == 1
     w_fixnum = parse_sexpr('0')
     assert unwrap(w_fixnum) == 0
-    assert isinstance(w_fixnum, W_Fixnum)
+    assert isinstance(w_fixnum, W_Integer)
     w_fixnum = parse_sexpr('1123')
     assert unwrap(w_fixnum) == 1123
-    assert isinstance(w_fixnum, W_Fixnum)
+    assert isinstance(w_fixnum, W_Integer)
     w_fixnum = parse_sexpr('abfa__')
     assert isinstance(w_fixnum, W_Identifier)
     t = parse_sexpr(r'''"don't believe \"them\""''')
@@ -46,20 +46,20 @@
 
 def test_objects():
     w_fixnum = parse_sexpr('-12345')
-    assert isinstance(w_fixnum, W_Fixnum)
+    assert isinstance(w_fixnum, W_Integer)
     assert unwrap(w_fixnum) == -12345
 
     w_float = parse_sexpr('123456.1234')
-    assert isinstance(w_float, W_Float)
+    assert isinstance(w_float, W_Real)
     assert unwrap(w_float) == 123456.1234
     w_float = parse_sexpr('-123456.1234')
-    assert isinstance(w_float, W_Float)
+    assert isinstance(w_float, W_Real)
     assert unwrap(w_float) == -123456.1234
 
 def test_sexpr():
     w_list = parse_sexpr('( 1 )')
     assert isinstance(w_list, W_Pair)
-    assert isinstance(w_list.car, W_Fixnum)
+    assert isinstance(w_list.car, W_Integer)
     assert isinstance(w_list.cdr, W_Nil)
 
     #w_list = parse_sexpr('()')
@@ -69,8 +69,8 @@
     assert isinstance(w_list, W_Pair)
     assert isinstance(w_list.car, W_Identifier)
     assert isinstance(w_list.cdr, W_Pair)
-    assert isinstance(w_list.cdr.car, W_Fixnum)
-    assert isinstance(w_list.cdr.cdr.car, W_Fixnum)
+    assert isinstance(w_list.cdr.car, W_Integer)
+    assert isinstance(w_list.cdr.cdr.car, W_Integer)
     assert isinstance(w_list.cdr.cdr.cdr, W_Nil)
 
 def test_complex_sexpr():



More information about the Pypy-commit mailing list