func newParser(f string, r io.Reader) (*parser, *lex8.Recorder) { ret := new(parser) var x lex8.Tokener = newLexer(f, r) x = newSemiInserter(x) rec := lex8.NewRecorder(x) ret.x = lex8.NewCommentRemover(rec) ret.Parser = lex8.NewParser(ret.x, Types) return ret, rec }
func makeTokener(f string, r io.Reader, golike bool) ( lex8.Tokener, *lex8.Recorder, ) { var x lex8.Tokener = newLexer(f, r) x = newSemiInserter(x) kw := lex8.NewKeyworder(x) kw.Ident = Ident kw.Keyword = Keyword if !golike { kw.Keywords = gKeywords } else { kw.Keywords = golikeKeywords } rec := lex8.NewRecorder(kw) return lex8.NewCommentRemover(rec), rec }