diff --git a/collects/profj/parsers/advanced-parser.ss b/collects/profj/parsers/advanced-parser.ss index 4646355af8..8279690b84 100644 --- a/collects/profj/parsers/advanced-parser.ss +++ b/collects/profj/parsers/advanced-parser.ss @@ -1,4 +1,4 @@ -(module advanced-parser mzscheme +(module advanced-parser scheme/base (require "general-parsing.ss" "lexer.ss" @@ -6,17 +6,10 @@ "../parameters.ss") (require parser-tools/yacc - (all-except parser-tools/lex input-port) + (except-in parser-tools/lex input-port) syntax/readerr) - - ;(require (lib "build-grammar.ss" "tester")) - - (define-syntax testing-parser - (syntax-rules () - ((_ parse-info ...) (parser parse-info ...)))) - + (provide parse-advanced parse-advanced-interactions parse-advanced-expression parse-advanced-type) - ;(provide advanced-grammar) (define parsers (parser @@ -25,14 +18,14 @@ (tokens java-vals special-toks Keywords Separators EmptyLiterals Operators ExtraKeywords) ;(terminals val-tokens special-tokens keyword-tokens separator-tokens literal-tokens operator-tokens) (error (lambda (tok-ok name val start-pos end-pos) - (if ((determine-error)) - (raise-read-error (format "Parse error near <~a:~a>" name val) - (file-path) - (position-line start-pos) - (position-col start-pos) - (+ (position-offset start-pos) (interactions-offset)) - (- (position-offset end-pos) - (position-offset start-pos)))))) + (when ((determine-error)) + (raise-read-error (format "Parse error near <~a:~a>" name val) + (file-path) + (position-line start-pos) + (position-col start-pos) + (+ (position-offset start-pos) (interactions-offset)) + (- (position-offset end-pos) + (position-offset start-pos)))))) (end EOF) (src-pos) @@ -809,9 +802,6 @@ (ConstantExpression [(Expression) $1])))) - - ;(define advanced-grammar (cadr parsers)) - ;(set! parsers (car parsers)) (define parse-advanced (car parsers)) (define parse-advanced-interactions (cadr parsers)) diff --git a/collects/profj/parsers/beginner-parser.ss b/collects/profj/parsers/beginner-parser.ss index 923dd8dcb3..a24324f521 100644 --- a/collects/profj/parsers/beginner-parser.ss +++ b/collects/profj/parsers/beginner-parser.ss @@ -1,4 +1,4 @@ -(module beginner-parser mzscheme +(module beginner-parser scheme/base (require "general-parsing.ss" "lexer.ss" @@ -6,18 +6,10 @@ "../parameters.ss") (require parser-tools/yacc - (all-except parser-tools/lex input-port) - syntax/readerr - (prefix class: mzlib/class)) - - ;(require (lib "build-grammar.ss" "tester")) - - #;(define-syntax testing-parser - (syntax-rules () - ((_ parse-info ...) (parser parse-info ...)))) - + (except-in parser-tools/lex input-port) + syntax/readerr) + (provide parse-beginner parse-beginner-interactions parse-beginner-expression parse-beginner-type) - ;(provide beginner-grammar) (define parsers (parser @@ -26,14 +18,14 @@ (tokens java-vals special-toks Keywords Separators EmptyLiterals Operators ExtraKeywords) ;(terminals val-tokens special-tokens keyword-tokens separator-tokens literal-tokens operator-tokens) (error (lambda (tok-ok name val start-pos end-pos) - (if ((determine-error)) - (raise-read-error (format "Parse error near <~a:~a>" name val) - (file-path) - (position-line start-pos) - (position-col start-pos) - (+ (position-offset start-pos) (interactions-offset)) - (- (position-offset end-pos) - (position-offset start-pos)))))) + (when ((determine-error)) + (raise-read-error (format "Parse error near <~a:~a>" name val) + (file-path) + (position-line start-pos) + (position-col start-pos) + (+ (position-offset start-pos) (interactions-offset)) + (- (position-offset end-pos) + (position-offset start-pos)))))) (end EOF) (src-pos) diff --git a/collects/profj/parsers/full-parser.ss b/collects/profj/parsers/full-parser.ss index ff9f569ec4..4b0fba2263 100644 --- a/collects/profj/parsers/full-parser.ss +++ b/collects/profj/parsers/full-parser.ss @@ -1,4 +1,4 @@ -(module full-parser mzscheme +(module full-parser scheme/base (require "general-parsing.ss" "lexer.ss" @@ -6,7 +6,7 @@ "../parameters.ss") (require parser-tools/yacc - (all-except parser-tools/lex input-port) + (except-in parser-tools/lex input-port) syntax/readerr) (provide parse-full parse-full-interactions parse-full-expression parse-full-type) diff --git a/collects/profj/parsers/general-parsing.ss b/collects/profj/parsers/general-parsing.ss index b5f4b03b82..f11caec64e 100644 --- a/collects/profj/parsers/general-parsing.ss +++ b/collects/profj/parsers/general-parsing.ss @@ -1,13 +1,13 @@ -#cs -(module general-parsing mzscheme +(module general-parsing scheme/base - (require (all-except parser-tools/lex input-port) - mzlib/string - (prefix class: mzlib/class) - mzlib/list) + (require + (for-syntax scheme/base) + (except-in parser-tools/lex input-port) + mzlib/string + (prefix-in class: scheme/class)) (require "../ast.ss" "../parameters.ss" "lexer.ss") - (provide (all-defined)) + (provide (all-defined-out)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;Methods used by all generated parsers @@ -16,16 +16,16 @@ ((_ end) (syntax (build-src 1 end))) ((_ start end) - (with-syntax ((start-pos (datum->syntax-object + (with-syntax ((start-pos (datum->syntax (syntax end) (string->symbol (format "$~a-start-pos" - (syntax-object->datum (syntax start)))))) - (end-pos (datum->syntax-object + (syntax->datum (syntax start)))))) + (end-pos (datum->syntax (syntax end) (string->symbol (format "$~a-end-pos" - (syntax-object->datum (syntax end))))))) + (syntax->datum (syntax end))))))) (syntax (make-src (position-line start-pos) (position-col start-pos) diff --git a/collects/profj/parsers/intermediate-access-parser.ss b/collects/profj/parsers/intermediate-access-parser.ss index c4a9cb6112..09d109cb3f 100644 --- a/collects/profj/parsers/intermediate-access-parser.ss +++ b/collects/profj/parsers/intermediate-access-parser.ss @@ -1,4 +1,4 @@ -(module intermediate-access-parser mzscheme +(module intermediate-access-parser scheme/base (require "general-parsing.ss" "lexer.ss" @@ -6,37 +6,30 @@ "../parameters.ss") (require parser-tools/yacc - (all-except parser-tools/lex input-port) + (except-in parser-tools/lex input-port) syntax/readerr) - (require-for-syntax "lexer.ss") - ;(require (lib "build-grammar.ss" "tester")) + (require (for-syntax "lexer.ss")) - (define-syntax testing-parser - (syntax-rules () - ((_ parse-info ...) (parser parse-info ...)))) - (provide parse-intermediate+access parse-intermediate+access-interactions parse-intermediate+access-expression parse-intermediate+access-type) - ;(provide intermediate-grammar) - (define parsers - (testing-parser + (parser (start CompilationUnit IntermediateInteractions Expression Type) ;;(debug "parser.output") (tokens java-vals special-toks Keywords Separators EmptyLiterals Operators ExtraKeywords) ;(terminals val-tokens special-tokens keyword-tokens separator-tokens literal-tokens operator-tokens) (error (lambda (tok-ok name val start-pos end-pos) - (if ((determine-error)) - (raise-read-error (format "Parse error near <~a:~a>" name val) - (file-path) - (position-line start-pos) - (position-col start-pos) - (+ (position-offset start-pos) (interactions-offset)) - (- (position-offset end-pos) - (position-offset start-pos)))))) - + (when ((determine-error)) + (raise-read-error (format "Parse error near <~a:~a>" name val) + (file-path) + (position-line start-pos) + (position-col start-pos) + (+ (position-offset start-pos) (interactions-offset)) + (- (position-offset end-pos) + (position-offset start-pos)))))) + (end EOF) (src-pos) @@ -626,9 +619,6 @@ (ConstantExpression [(Expression) $1])))) - ;(define intermediate-grammar (cadr parsers)) - ;(set! parsers (car parsers)) - (define parse-intermediate+access (car parsers)) (define parse-intermediate+access-interactions (cadr parsers)) (define parse-intermediate+access-expression (caddr parsers)) diff --git a/collects/profj/parsers/intermediate-parser.ss b/collects/profj/parsers/intermediate-parser.ss index 9a9e63d970..b30c18cfe7 100644 --- a/collects/profj/parsers/intermediate-parser.ss +++ b/collects/profj/parsers/intermediate-parser.ss @@ -1,4 +1,4 @@ -(module intermediate-parser mzscheme +(module intermediate-parser scheme/base (require "general-parsing.ss" "lexer.ss" @@ -6,36 +6,30 @@ "../parameters.ss") (require parser-tools/yacc - (all-except parser-tools/lex input-port) + (except-in parser-tools/lex input-port) syntax/readerr) - (require-for-syntax "lexer.ss") - ;(require (lib "build-grammar.ss" "tester")) + (require (for-syntax "lexer.ss")) - (define-syntax testing-parser - (syntax-rules () - ((_ parse-info ...) (parser parse-info ...)))) (provide parse-intermediate parse-intermediate-interactions parse-intermediate-expression parse-intermediate-type) - ;(provide intermediate-grammar) - (define parsers - (testing-parser + (parser (start CompilationUnit IntermediateInteractions Expression Type) ;;(debug "parser.output") (tokens java-vals special-toks Keywords Separators EmptyLiterals Operators ExtraKeywords) ;(terminals val-tokens special-tokens keyword-tokens separator-tokens literal-tokens operator-tokens) (error (lambda (tok-ok name val start-pos end-pos) - (if ((determine-error)) - (raise-read-error (format "Parse error near <~a:~a>" name val) - (file-path) - (position-line start-pos) - (position-col start-pos) - (+ (position-offset start-pos) (interactions-offset)) - (- (position-offset end-pos) - (position-offset start-pos)))))) + (when ((determine-error)) + (raise-read-error (format "Parse error near <~a:~a>" name val) + (file-path) + (position-line start-pos) + (position-col start-pos) + (+ (position-offset start-pos) (interactions-offset)) + (- (position-offset end-pos) + (position-offset start-pos)))))) (end EOF) (src-pos) @@ -612,9 +606,6 @@ (ConstantExpression [(Expression) $1])))) - ;(define intermediate-grammar (cadr parsers)) - ;(set! parsers (car parsers)) - (define parse-intermediate (car parsers)) (define parse-intermediate-interactions (cadr parsers)) (define parse-intermediate-expression (caddr parsers)) diff --git a/collects/profj/parsers/lexer.ss b/collects/profj/parsers/lexer.ss index c889dc5d41..9e9f4108c1 100644 --- a/collects/profj/parsers/lexer.ss +++ b/collects/profj/parsers/lexer.ss @@ -1,20 +1,20 @@ -(module lexer mzscheme +(module lexer scheme/base ;; Lexical Analysis according to the Java Language Specification First Edition ;; chapter 3. ;; Lacks all Unicode support - (require mzlib/class + (require scheme/class parser-tools/lex - (prefix re: parser-tools/lex-sre) - (lib "parameters.ss" "profj")) + (prefix-in re: parser-tools/lex-sre) + profj/parameters) (define (image-snip%) (if (mred?) (dynamic-require 'mred 'image-snip%) (class object% (super-instantiate ())))) - (provide (all-defined-except image-snip%)) + (provide (except-out (all-defined-out) image-snip%)) (define-struct test-case (test)) (define-struct example-box (contents)) (define-struct interact-case (box)) diff --git a/collects/profj/to-scheme.ss b/collects/profj/to-scheme.ss index 0cef166e4b..1e12dcd7c7 100644 --- a/collects/profj/to-scheme.ss +++ b/collects/profj/to-scheme.ss @@ -498,7 +498,7 @@ (append (accesses-public fields) (accesses-package fields) (accesses-protected fields))) (generate-contract-defs (class-name)))) - (stm-class (generate-stm-class (class-name) + #;(stm-class (generate-stm-class (class-name) (parent-name) (class-record-methods class-rec) (class-record-fields class-rec))) @@ -731,7 +731,7 @@ )) ,@wrapper-classes - ,stm-class + #;,stm-class #;,@(create-generic-methods (append (accesses-public methods) (accesses-package methods)