** about read-phrase
   1. "ok" is used after every lexicographer
      this is an ad hoc
      I can remove this ad hoc
      only after I have implemented
      the right compiler-semantic
   2. 也许
      我应该全面地践行 bra mid ket
      否则 没法 模块化地实现 read-phrase
      | bra    | mid  | ket       | note              |
      |--------+------+-----------+-------------------|
      | if     | else | then      |                   |
      | {      | .    | }         |                   |
      | [      |      | ]         |                   |
      | (      |      | )         |                   |
      | (*     |      | *)        |                   |
      | :"     |      | "         | as char, non-nest |
      | string |      | --------- | non-nest          |
      由此 我发现 对语法的处理 和 对语义的处理 本来就应该是分开的
      而 古典的 Forth 尽管有 编译语义和解释语义的分化
      但是 能够 避免对语法 的处理
      并且 在 Forth 中对语法的扩展是真正 模块化的
      另外的 能够 模块化的 语法的扩展 的语言 还有 scheme
      比如 ocaml 这种语言 就不行
      ??? 难道 我应该 向 scheme 回归 ???
      在 cicada 中 还不行
      当我实现 一个 新的 key-word 的时候
      如果 它是一个 bra-ket
      那么 我就必须在基本的 runtime 中读取 phrase 的函数中
      处理 对 这个 bra-ket 的匹配