URL
https://opencores.org/ocsvn/openrisc/openrisc/trunk
Subversion Repositories openrisc
[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [libgo/] [go/] [exp/] [norm/] [input.go] - Rev 747
Compare with Previous | Blame | View Log
// 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 normimport "unicode/utf8"type input interface {skipASCII(p int) intskipNonStarter(p int) intappendSlice(buf []byte, s, e int) []bytecopySlice(buf []byte, s, e int)charinfo(p int) (uint16, int)decomposeNFC(p int) uint16decomposeNFKC(p int) uint16hangul(p int) rune}type inputString stringfunc (s inputString) skipASCII(p int) int {for ; p < len(s) && s[p] < utf8.RuneSelf; p++ {}return p}func (s inputString) skipNonStarter(p int) int {for ; p < len(s) && !utf8.RuneStart(s[p]); p++ {}return p}func (s inputString) appendSlice(buf []byte, b, e int) []byte {for i := b; i < e; i++ {buf = append(buf, s[i])}return buf}func (s inputString) copySlice(buf []byte, b, e int) {copy(buf, s[b:e])}func (s inputString) charinfo(p int) (uint16, int) {return charInfoTrie.lookupString(string(s[p:]))}func (s inputString) decomposeNFC(p int) uint16 {return nfcDecompTrie.lookupStringUnsafe(string(s[p:]))}func (s inputString) decomposeNFKC(p int) uint16 {return nfkcDecompTrie.lookupStringUnsafe(string(s[p:]))}func (s inputString) hangul(p int) rune {if !isHangulString(string(s[p:])) {return 0}rune, _ := utf8.DecodeRuneInString(string(s[p:]))return rune}type inputBytes []bytefunc (s inputBytes) skipASCII(p int) int {for ; p < len(s) && s[p] < utf8.RuneSelf; p++ {}return p}func (s inputBytes) skipNonStarter(p int) int {for ; p < len(s) && !utf8.RuneStart(s[p]); p++ {}return p}func (s inputBytes) appendSlice(buf []byte, b, e int) []byte {return append(buf, s[b:e]...)}func (s inputBytes) copySlice(buf []byte, b, e int) {copy(buf, s[b:e])}func (s inputBytes) charinfo(p int) (uint16, int) {return charInfoTrie.lookup(s[p:])}func (s inputBytes) decomposeNFC(p int) uint16 {return nfcDecompTrie.lookupUnsafe(s[p:])}func (s inputBytes) decomposeNFKC(p int) uint16 {return nfkcDecompTrie.lookupUnsafe(s[p:])}func (s inputBytes) hangul(p int) rune {if !isHangul(s[p:]) {return 0}rune, _ := utf8.DecodeRune(s[p:])return rune}
