// package syntax -- синтаксический потоковый анализатор // // Читает по одно литере и пытается определеить символ package syntax import ( "fmt" "log" ) // Syntax -- синтаксический потоковый анализатор type Syntax struct { textSrc []rune // Исходный набо рун для анализа } // NewSyntax -- возвращает новый потоовый синтаксический анализатор func NewSyntax(textSrc []rune) (*Syntax, error) { log.Printf("NewSyntax()\n") if textSrc == nil { return nil, fmt.Errorf("NewSyntax(): text==nil") } sf := &Syntax{ textSrc: textSrc, } return sf, nil }