鑑於上下文無關文法G = ({S, A, B, C} , {0, 1} , P , S),其中一組作品P的是: S → 0A0 | 1B1 | BB
A → C
B → S | A
C → S | λ
我應該刪除無用的符號。 我的問題是我應該考慮空字符串λ一個終端在這裏,同時應用算法創建一個新的集合V'包含符號導致直接派生,然後添加到V'符號,在V'產生終端和變量的組合。
在閱讀Guido's reasoning for not adding tail recursion elimination to Python,我炮製在Haskell幾乎尾遞歸的這個例子: triangle :: Int -> Int
triangle 0 = 0
triangle x = x + triangle (x - 1)
這當然不是一個尾調用,因爲雖然遞歸呼叫本身處於「返回」狀
我正在通過the completely fair solution to the Readers/Writers problem,釋放鎖的順序似乎讓我感到困惑。我想知道我們是否可以在reader()函數中交換釋放serviceQueue鎖和readCountAccess鎖的順序。如果順序無關緊要,以這種方式釋放鎖看起來是違反直覺的。但我沒有看到以相反的順序釋放鎖定有什麼問題(首先,readCoun