Corrected parse error, where the parsers were raising an error directly, with no source.

(note to self: parsers still raise an error dirrectly for one case with cast, but with source).

svn: r2164
This commit is contained in:
Kathy Gray 2006-02-07 21:05:12 +00:00
parent 0e21991dbc
commit ea0239841a
4 changed files with 24 additions and 3 deletions

View File

@ -676,7 +676,13 @@
(if (access? $2) (if (access? $2)
(make-cast #f (build-src 4) (make-cast #f (build-src 4)
(make-type-spec (access->name $2) 0 (build-src 2 2)) $4) (make-type-spec (access->name $2) 0 (build-src 2 2)) $4)
(error 'bad-cast))] (raise-read-error "An operator is needed to combine these expressions."
(file-path)
(position-line $1-start-pos)
(position-col $1-start-pos)
(+ (position-offset $1-start-pos) (interactions-offset))
(- (position-offset $4-end-pos)
(position-offset $1-start-pos))))]
;; GJ - Not sure if this is in spec or not. ;; GJ - Not sure if this is in spec or not.
;;[(O_PAREN Name < ReferenceTypeList1 C_PAREN UnaryExpressionNotPlusMinus) #t] ;;[(O_PAREN Name < ReferenceTypeList1 C_PAREN UnaryExpressionNotPlusMinus) #t]
[(O_PAREN Name Dims C_PAREN UnaryExpressionNotPlusMinus) [(O_PAREN Name Dims C_PAREN UnaryExpressionNotPlusMinus)

View File

@ -852,7 +852,13 @@
(if (access? $2) (if (access? $2)
(make-cast #f (build-src 4) (make-cast #f (build-src 4)
(make-type-spec (access->name $2) 0 (build-src 2 2)) $4) (make-type-spec (access->name $2) 0 (build-src 2 2)) $4)
(error 'bad-cast))] (raise-read-error "An operator is needed to combine these expressions."
(file-path)
(position-line $1-start-pos)
(position-col $1-start-pos)
(+ (position-offset $1-start-pos) (interactions-offset))
(- (position-offset $4-end-pos)
(position-offset $1-start-pos))))]
[(O_PAREN Name Dims C_PAREN UnaryExpressionNotPlusMinus) [(O_PAREN Name Dims C_PAREN UnaryExpressionNotPlusMinus)
(make-cast #f (build-src 4) (make-cast #f (build-src 4)
(make-type-spec $2 $3 (build-src 2 3)) (make-type-spec $2 $3 (build-src 2 3))

View File

@ -499,7 +499,13 @@
(if (access? $2) (if (access? $2)
(make-cast #f (build-src 4) (make-cast #f (build-src 4)
(make-type-spec (access->name $2) 0 (build-src 2 2)) $4) (make-type-spec (access->name $2) 0 (build-src 2 2)) $4)
(error 'bad-cast))]) (raise-read-error "An operator is needed to combine these expressions."
(file-path)
(position-line $1-start-pos)
(position-col $1-start-pos)
(+ (position-offset $1-start-pos) (interactions-offset))
(- (position-offset $4-end-pos)
(position-offset $1-start-pos))))])
(MultiplicativeExpression (MultiplicativeExpression
[(UnaryExpression) $1] [(UnaryExpression) $1]

View File

@ -11,6 +11,8 @@
find-intermediate-error find-intermediate-error-interactions find-intermediate-error-expression find-intermediate-error-type find-intermediate-error find-intermediate-error-interactions find-intermediate-error-expression find-intermediate-error-type
find-advanced-error find-advanced-error-interactions find-advanced-error-expression find-advanced-error-type) find-advanced-error find-advanced-error-interactions find-advanced-error-expression find-advanced-error-type)
;(print-struct #t)
(define level (make-parameter 'beginner)) (define level (make-parameter 'beginner))
(define (beginner?) (eq? (level) 'beginner)) (define (beginner?) (eq? (level) 'beginner))
(define (intermediate?) (eq? (level) 'intermediate)) (define (intermediate?) (eq? (level) 'intermediate))
@ -1538,6 +1540,7 @@
(end (get-end cur-tok)) (end (get-end cur-tok))
(ps (if (null? pre) null (get-start pre))) (ps (if (null? pre) null (get-start pre)))
(pe (if (null? pre) null (get-end pre)))) (pe (if (null? pre) null (get-end pre))))
;(printf "parse-statement: ~a pre ~a cur-tok ~a ~n" state pre cur-tok)
(case state (case state
((start) ((start)
(case kind (case kind