summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsrc/lib/make.bash6
-rw-r--r--src/lib/regexp/regexp.go26
-rw-r--r--test/vectors.go6
3 files changed, 18 insertions, 20 deletions
diff --git a/src/lib/make.bash b/src/lib/make.bash
index 825771c63..76ae0404e 100755
--- a/src/lib/make.bash
+++ b/src/lib/make.bash
@@ -18,9 +18,7 @@ function builddirs() {
for i
do
echo; echo; echo %%%% making lib/$i %%%%; echo
- cd $i
- make install
- cd ..
+ (cd $i; make install)
done
}
@@ -35,6 +33,7 @@ builddirs syscall\
math\
os\
strconv\
+ container/array\
reflect\
buildfiles io.go
@@ -54,4 +53,3 @@ builddirs net\
time\
http\
regexp\
- container/array\
diff --git a/src/lib/regexp/regexp.go b/src/lib/regexp/regexp.go
index 4b0aefce9..3c458dbfb 100644
--- a/src/lib/regexp/regexp.go
+++ b/src/lib/regexp/regexp.go
@@ -8,7 +8,7 @@ package regexp
import (
"os";
- "vector";
+ "array";
)
export var debug = false;
@@ -50,7 +50,7 @@ type RE struct {
expr string; // the original expression
ch *chan<- *RE; // reply channel when we're done
error *os.Error; // compile- or run-time error; nil if OK
- inst *vector.Vector;
+ inst *array.Array;
start Inst;
nbra int; // number of brackets in expression, for subexpressions
}
@@ -123,8 +123,8 @@ type CharClass struct {
Common;
char int;
negate bool; // is character class negated? ([^a-z])
- // Vector of int, stored pairwise: [a-z] is (a,z); x is (x,x):
- ranges *vector.Vector;
+ // array of int, stored pairwise: [a-z] is (a,z); x is (x,x):
+ ranges *array.IntArray;
}
func (cclass *CharClass) Type() int { return CHARCLASS }
@@ -135,8 +135,8 @@ func (cclass *CharClass) Print() {
print(" (negated)");
}
for i := 0; i < cclass.ranges.Len(); i += 2 {
- l := cclass.ranges.At(i).(int);
- r := cclass.ranges.At(i+1).(int);
+ l := cclass.ranges.At(i);
+ r := cclass.ranges.At(i+1);
if l == r {
print(" [", string(l), "]");
} else {
@@ -147,14 +147,14 @@ func (cclass *CharClass) Print() {
func (cclass *CharClass) AddRange(a, b int) {
// range is a through b inclusive
- cclass.ranges.Append(a);
- cclass.ranges.Append(b);
+ cclass.ranges.Push(a);
+ cclass.ranges.Push(b);
}
func (cclass *CharClass) Matches(c int) bool {
for i := 0; i < cclass.ranges.Len(); i = i+2 {
- min := cclass.ranges.At(i).(int);
- max := cclass.ranges.At(i+1).(int);
+ min := cclass.ranges.At(i);
+ max := cclass.ranges.At(i+1);
if min <= c && c <= max {
return !cclass.negate
}
@@ -164,7 +164,7 @@ func (cclass *CharClass) Matches(c int) bool {
func NewCharClass() *CharClass {
c := new(CharClass);
- c.ranges = vector.New();
+ c.ranges = array.NewIntArray(0);
return c;
}
@@ -220,7 +220,7 @@ func (re *RE) Error(err *os.Error) {
func (re *RE) Add(i Inst) Inst {
i.SetIndex(re.inst.Len());
- re.inst.Append(i);
+ re.inst.Push(i);
return i;
}
@@ -574,7 +574,7 @@ func (re *RE) DoParse() {
func Compiler(str string, ch *chan *RE) {
re := new(RE);
re.expr = str;
- re.inst = vector.New();
+ re.inst = array.New(0);
re.ch = ch;
re.DoParse();
ch <- re;
diff --git a/test/vectors.go b/test/vectors.go
index 93280f42c..eefec9197 100644
--- a/test/vectors.go
+++ b/test/vectors.go
@@ -6,7 +6,7 @@
package main
-import vector "vector"
+import "array"
type S struct {
@@ -21,7 +21,7 @@ func (p *S) Init(val int) *S {
func test0() {
- v := vector.New();
+ v := array.New(0);
if v.Len() != 0 {
panic("len = ", v.Len(), "\n");
}
@@ -34,7 +34,7 @@ func test1() {
a[i] = new(S).Init(i);
}
- v := vector.New();
+ v := array.New(0);
for i := 0; i < len(a); i++ {
v.Insert(0, a[i]);
if v.Len() != i + 1 {