From 801f542b0feff3c53707675df026bc30ddd89b7d Mon Sep 17 00:00:00 2001 From: Rob Pike Date: Wed, 15 Oct 2008 17:20:37 -0700 Subject: [PATCH] remove hack now that vector of int works. R=rsc DELTA=9 (0 added, 3 deleted, 6 changed) OCL=17248 CL=17250 --- src/lib/regexp/regexp.go | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/src/lib/regexp/regexp.go b/src/lib/regexp/regexp.go index 6535e6ef49..7d366508a5 100644 --- a/src/lib/regexp/regexp.go +++ b/src/lib/regexp/regexp.go @@ -134,14 +134,12 @@ func NewChar(char int) *Char { // --- CHARCLASS [a-z] -type CClassChar int; // BUG: Shouldn't be necessary but 6g won't put ints into vectors - type CharClass struct { next Inst; index int; char int; negate bool; // is character class negated? ([^a-z]) - // Vector of CClassChar, stored pairwise: [a-z] is (a,z); x is (x,x): + // Vector of int, stored pairwise: [a-z] is (a,z); x is (x,x): ranges *vector.Vector; } @@ -156,8 +154,8 @@ func (cclass *CharClass) Print() { print(" (negated)"); } for i := 0; i < cclass.ranges.Len(); i += 2 { - l := cclass.ranges.At(i).(CClassChar); - r := cclass.ranges.At(i+1).(CClassChar); + l := cclass.ranges.At(i).(int); + r := cclass.ranges.At(i+1).(int); if l == r { print(" [", string(l), "]"); } else { @@ -166,7 +164,7 @@ func (cclass *CharClass) Print() { } } -func (cclass *CharClass) AddRange(a, b CClassChar) { +func (cclass *CharClass) AddRange(a, b int) { // range is a through b inclusive cclass.ranges.Append(a); cclass.ranges.Append(b); @@ -174,8 +172,8 @@ func (cclass *CharClass) AddRange(a, b CClassChar) { func (cclass *CharClass) Matches(c int) bool { for i := 0; i < cclass.ranges.Len(); i = i+2 { - min := cclass.ranges.At(i).(CClassChar); - max := cclass.ranges.At(i+1).(CClassChar); + min := cclass.ranges.At(i).(int); + max := cclass.ranges.At(i+1).(int); if min <= c && c <= max { return !cclass.negate } @@ -323,7 +321,6 @@ Grammar: func (p *Parser) Regexp() (start, end Inst) var NULL Inst -type BUGinter interface{} func special(c int) bool { s := `\.+*?()|[]`; -- 2.48.1