我有這個具體的語法:如何構造一個`X?`具體語法值?
syntax SomeMore = [...] SyncBlock? sync;
syntax SyncBlock = "sync" "{" SyncStatement* stats "}";
syntax SyncStatement = [...];
[SyncBlock]"sync { <syncStrings> }"
似乎工作,但是當我嘗試使用它作爲一個SyncBlock?
,併爲其分配:
SyncBlock? sync = [SyncBlock?]"sync { <syncStrings> }"
它不工作:inline parsing not supported on SyncBlock?
是什麼建立此X?
類型的值的最簡單方法是什麼?
我可以以某種方式將SyncBlock
轉換爲SyncBlock?
嗎?
像這樣的東西也不起作用: syncBlock = (SyncBlock?)`sync { <SyncStatement* syncs>}`;
附: SyncBlock? syncBlock = …
結果爲Ambiguous code (internal error), SyncBlock? syncBlock = …
。可能是由於三元運算符含糊不清?
同樣的問題似乎發生在'X *'語法元素上。 – Tim