我在詞法分析器中定義了不同的狀態,這些狀態不是依賴於令牌,而是依賴於一系列令牌(類似於模板引擎的工作方式)。我可以定義更長的標記,但我更喜歡這種方法。有沒有辦法從野牛更改彈性啓動狀態?
2
A
回答
3
您可以在使用BEGIN宏的.l文件的第三部分粘貼一個函數,然後從您的bison動作(或其他任何地方)調用該函數。在減少規則(運行它的動作)之前,你需要小心這樣一個事實,即野牛可能會讀取一個令牌,因此在正確的時刻設置正確的狀態可能會非常棘手。
0
您可以將一個參數添加到yylex()中,然後每次調用該參數時都會顯式設置該狀態。然後你在yacc中有一個參數在你的動作中更新,然後傳遞給yylex()。這不需要是全局參數。
這裏討論了實際的技術,雖然它可能需要適應野牛和/或sourceforge flex:http://my.opera.com/myrkraverk/blog/2012/01/04/passing-parameters-to-yacc-and-flex
相關問題
- 1. 有沒有辦法在暫停狀態下啓動進程?
- 2. 有沒有辦法阻止UIImagePickerController更改狀態欄樣式?
- 3. 有沒有辦法來動態更改jqGrid的單元格值?
- 4. 有沒有辦法啓動一個PHP腳本並獲取狀態?
- 5. 有沒有辦法在400/500狀態碼上更改HttpWebRequest行爲?
- 6. 有沒有辦法讓移動Safari WebApp「忘記」它的狀態?
- 7. 有沒有辦法安排html更改?
- 8. 有沒有辦法傾聽Animatable.isRunning更改?
- 9. 有沒有辦法從Espresso Recorder啓動特定的活動?
- 10. 有沒有辦法讓@ModelAttribute動態?
- 11. 動態更改性狀
- 12. 有沒有辦法監聽flash.display.DisplayObjectContainer numChildren屬性中的更改?
- 13. 直接從冷啓動彈出狀態
- 14. PHP動態對象屬性有沒有辦法讓它工作?
- 15. 有沒有辦法用RequireJS動態地改變Marionette ItemView模板?
- 16. 有沒有辦法動態改變一個按鈕的CSS類?
- 17. 有沒有辦法動態改變Flutter TextField的maxLines?
- 18. 有沒有辦法動態改變圖標的顏色?
- 19. 有沒有辦法在python中動態創建/修改函數
- 20. 有沒有辦法知道一個狀態是否處於活動狀態而沒有捕獲ContextNotActiveException?
- 21. 有沒有辦法動態更新目的地?
- 22. 爲什麼%prec在這個野牛語法中沒有效果?
- 23. 野牛 - 語法中沒有用的非終結者
- 24. 有沒有辦法從Eclipse啓動/停止/重新啓動REMOTE Tomcat服務器?
- 25. 有沒有什麼辦法用彈簧
- 26. Keras:有沒有辦法「彈出()」頂層?
- 27. 有沒有辦法在Django中動態更改UpdateView中使用的模型?
- 28. 有沒有辦法在運行時動態更改Docker容器的CPU數量?
- 29. 有沒有辦法動態更改首選項屏幕字體顏色?
- 30. 有沒有辦法在iOS中動態更改應用程序圖標?