丟掉語法檔案:用純 TypeScript 寫你的 DSL parser
對於大多數 bounded-context 的 DSL 來說,parser generator是大材小用。parser combinator讓你可以用與應用程式相同的語言建構可用的parser,無需產生程式碼,也無需建置步驟。
如果你曾經開啟過 Yacc 的語法檔案,並疑惑為什麼建構一門語言需要學習第二門語言,那麼你並不孤單。parser generator很強大,但對於在 bounded context 中自然湧現的小型 DSL 來說,它們幾乎總是大材小用。…