diff --git a/collects/honu/core/main.rkt b/collects/honu/core/main.rkt index a51cfb6ae4..bbce5585d0 100644 --- a/collects/honu/core/main.rkt +++ b/collects/honu/core/main.rkt @@ -6,7 +6,7 @@ (provide #%top #%datum - print + print printf (rename-out [#%dynamic-honu-module-begin #%module-begin] [honu-function function] [honu-var var] diff --git a/collects/honu/core/private/parse2.rkt b/collects/honu/core/private/parse2.rkt index f0d82e4bfd..7d5f1bb57a 100644 --- a/collects/honu/core/private/parse2.rkt +++ b/collects/honu/core/private/parse2.rkt @@ -134,6 +134,11 @@ ;; return the parsed stuff and the unparsed stuff (define (parse input) (define (do-parse stream precedence left current) + (define-syntax-class atom + [pattern x:identifier] + [pattern x:str] + [pattern x:number]) + (debug "parse ~a precedence ~a left ~a current ~a\n" stream precedence left current) (syntax-parse stream #:literal-sets (cruft) [() (values (left current) #'())] @@ -171,7 +176,7 @@ (case association [(left) >] [(right) >=])) - (printf "new precedence ~a\n" new-precedence) + (debug "new precedence ~a\n" new-precedence) (if (higher new-precedence precedence) (do-parse #'(rest ...) new-precedence (lambda (stuff) @@ -211,8 +216,7 @@ #'rest)] [else (syntax-parse #'head #:literal-sets (cruft) - [x:identifier (do-parse #'(rest ...) precedence left #'x)] - [x:number (do-parse #'(rest ...) precedence left #'x)] + [x:atom (do-parse #'(rest ...) precedence left #'x)] [(#%parens args ...) (debug "function call ~a\n" left) (values (left (with-syntax ([current current] diff --git a/collects/tests/honu/test.honu b/collects/tests/honu/test.honu index b5eb84f1d8..0ecf724e57 100644 --- a/collects/tests/honu/test.honu +++ b/collects/tests/honu/test.honu @@ -22,8 +22,9 @@ test1(){ test("x = 3", x, 3); test("y = 2", y, 2); */ - print(x + 2); - print(x ^ 2) + printf("x is ~a\n", x + 2); + // print(x + 2); + // print(x ^ 2) } val test2(val x, val y){ @@ -31,7 +32,7 @@ val test2(val x, val y){ print(y) } -// test1(); +test1(); test2(5, 9); // function(z){ print(z) }(12)