;;; -*-Scheme-*-
;;;
-;;; $Id: buffer.scm,v 1.9 2001/10/04 15:50:40 cph Exp $
+;;; $Id: buffer.scm,v 1.10 2001/10/04 15:53:52 cph Exp $
;;;
;;; Copyright (c) 2001 Massachusetts Institute of Technology
;;;
(char-matcher not-char-ci (not (char-ci=? char reference)))
(char-matcher char-in-set (char-set-member? reference char)))
+(define (match-utf8-char-in-alphabet buffer alphabet)
+ (if (let ((n
+ (read-utf8-code-point-from-source
+ (lambda ()
+ (read-parser-buffer-char buffer)))))
+ (and n
+ (code-point-in-alphabet? n alphabet)))
+ #t
+ (begin
+ (set-parser-buffer-pointer! buffer p)
+ #f)))
+\f
(let-syntax
((string-matcher
(lambda (suffix)
;;; -*-Scheme-*-
;;;
-;;; $Id: parser.pkg,v 1.10 2001/10/04 15:53:16 cph Exp $
+;;; $Id: parser.pkg,v 1.11 2001/10/04 15:54:20 cph Exp $
;;;
;;; Copyright (c) 2001 Massachusetts Institute of Technology
;;;
match-parser-buffer-substring-ci
match-parser-buffer-substring-ci-no-advance
match-parser-buffer-substring-no-advance
+ match-utf8-char-in-alphabet
parser-buffer-line
parser-buffer-pointer-index
parser-buffer-pointer-line