亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

TextX 檢索對象父類型

TextX 檢索對象父類型

明月笑刀無情 2024-01-15 15:37:33
假設我們的語法中有兩個這樣的規則:Value: AttributeReference | PrimitiveValue;PrimitiveValue: BoolValue | StringValue | IntValue;我想為這種語言實現一個代碼生成器?;旧?,對于每條規則,我定義了一個執行此操作的函數。例如,code_gen_value函數獲取一個對象,如果該對象的類型是,AttributeReference那么它會調用code_gen_attribute_reference (passing the object),或者如果類型是PrimitiveValue,那么它會調用code_gen_primitive_value (passing the object)。問題是我使用以下內容來檢索對象的類型:value_type = cname(value) where:def cname(o):     return o.__class__.__name__但是,當我在示例上運行它時,它the value_type是輸入對象。我的問題是,如何檢查該對象是否是 的子類型?StringValuecode_gen_value functionPrimitiveValue在 XTexnd 中,可以使用instanceof關鍵字并且實際上if obj instanceof PrimitiveValue可以在code_gen_value. 我想知道我們如何在 TextX 中表達這一點。有沒有辦法引用為我們的語法生成的元模型中的類型?
查看完整描述

1 回答

?
天涯盡頭無女友

TA貢獻1831條經驗 獲得超9個贊

要根據 textX 語法指定的繼承檢查對象是否是某種類型的實例,可以使用textx_isinstance。在當前版本的 textX (2.2.0) 中,可以從textx.scoping.tools.?從 2.3.0 開始,它將在模塊中可用textx。



查看完整回答
反對 回復 2024-01-15
  • 1 回答
  • 0 關注
  • 147 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號