type ScanToken … const LSH … const RSH … const ARR … const ROT … const Include … const BuildComment … const macroName … // IsRegisterShift reports whether the token is one of the ARM register shift operators. func IsRegisterShift(r ScanToken) bool { … } func (t ScanToken) String() string { … } // NewLexer returns a lexer for the named file and the given link context. func NewLexer(name string) TokenReader { … } type TokenReader … type Token … // Make returns a Token with the given rune (ScanToken) and text representation. func Make(token ScanToken, text string) Token { … } func (l Token) String() string { … } type Macro … // Tokenize turns a string into a list of Tokens; used to parse the -D flag and in tests. func Tokenize(str string) []Token { … }