Mercurial > hg > CbC > CbC_gcc
view libgo/go/strings/export_test.go @ 143:76e1cf5455ef
add cbc_gc test
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Sun, 23 Dec 2018 19:24:05 +0900 |
parents | 04ced10e8804 |
children | 1830386684a0 |
line wrap: on
line source
// Copyright 2011 The Go Authors. All rights reserved. // Use of this source code is governed by a BSD-style // license that can be found in the LICENSE file. package strings func (r *Replacer) Replacer() interface{} { return r.r } func (r *Replacer) PrintTrie() string { gen := r.r.(*genericReplacer) return gen.printNode(&gen.root, 0) } func (r *genericReplacer) printNode(t *trieNode, depth int) (s string) { if t.priority > 0 { s += "+" } else { s += "-" } s += "\n" if t.prefix != "" { s += Repeat(".", depth) + t.prefix s += r.printNode(t.next, depth+len(t.prefix)) } else if t.table != nil { for b, m := range r.mapping { if int(m) != r.tableSize && t.table[m] != nil { s += Repeat(".", depth) + string([]byte{byte(b)}) s += r.printNode(t.table[m], depth+1) } } } return } func StringFind(pattern, text string) int { return makeStringFinder(pattern).next(text) } func DumpTables(pattern string) ([]int, []int) { finder := makeStringFinder(pattern) return finder.badCharSkip[:], finder.goodSuffixSkip }