Я начинаю проект класса, который касается добавления некоторых функций в Go.Go использует Go, чтобы разобрать себя?
Однако я полностью смущен структурой Go. У меня создалось впечатление, что Go used flex и bison, но я не могу найти ничего знакомого в исходном коде Go.
С другой стороны, каталог go/src/pkg/go имеет папки со знакомыми именами (ast, токен, парсер и т. Д.), Но все, что они содержат, являются .go-файлами. Я смущен!
Моя просьба о том, кто знаком с Go, можете ли вы дать мне обзор того, как Go lexed, разбирался и т. Д., И где искать файлы для редактирования грамматики и еще чего?
Я не удивлюсь, если они напишут синтаксический анализатор вручную (и ручная прокатка лексера тоже не слишком странная). Это на самом деле довольно распространено для зрелых компиляторов и имеет различные преимущества. – delnan