2014-01-31 17 views
0

球拍能夠讀取格式爲2 + 3i的複數,例如 (+ 2 + 3i 4) 有效,並且將返回6 + 3i。我的目標是允許用戶以相同的方式創建四元數,使得 (+ 1 + 2i + 3j + 4k 3 + 4i + 2j + 1k) 不會拋出任何「未定義的標識符」錯誤。四元數是我特別想要實現的,但這是一個更普遍的問題,即如何更改球拍讀者解析數字的方式。 this page的第1.3.3節概述了BNF中的數字語法,這就是我想要改變的(具體而言,確切/不精確的複合體)。允許讀者識別用這種格式寫成的四元數的最好方法是什麼?在球拍中讀取類似複數的四元數

回答

0

Little Schemer和誘人的計算機是有用的讀取。我個人的看法是重載REPL。

0

這是一個可能在球拍郵件列表http://lists.racket-lang.org/users/上得到更好答案的問題。您可以定義自己的讀者,但問題是現有讀者框架的可擴展性如何,以及是否有可能以模塊化方式添加到BNF中。我的猜測是你將重複相當多的代碼,但它絕對有可能。