stringtemplate-4

    1熱度

    1回答

    我想將幾個模板文件放在名爲「模板」的目錄中,相對於我的應用程序的可執行文件,並使用它們。例如,一個模板文件被命名爲「Globals.st」。 這樣的話,我創建了一個TemplateGroupDirectory並加載模板: var group = new TemplateGroupDirectory("Templates"); var tmpl = group.GetInstanceOf("Glo

    3熱度

    1回答

    在StringTemplate的4,迭代的默認行爲是遍歷keys代替values,這是在版本的行爲3. 我找不到如何通過keys和迭代的語法values版本4. 有人可以發佈一個語法的例子嗎?

    1熱度

    1回答

    構建AST我正在開發一個編譯器和已經實施的詞法,語法分析器和語義分析(使用聽衆和觀衆)使用ANTLR4。對於代碼生成,我計劃使用StringTemplate(ST)生成LLVM IR。 要做到這一點,我想先構建一個AST,然後生成代碼。 我的問題在這裏,我需要構建AST?或者我可以使用Parse Tree? 如果我需要使用AST,我無法找到使用訪問者或偵聽器手動構建AST的任何示例。即使是一個小文

    1熱度

    1回答

    我需要創建一個以逗號分隔的項目列表: $ subjects:{sub | $ sub.Name $} separator =「,」$ 這似乎不起作用。什麼是使用分隔符的正確方法? 有沒有其他的方法來創建一個逗號分隔的項目列表?

    0熱度

    1回答

    我有這樣的事情: properties(attributeInfo) ::= << private <attributeInfo:parameters()>; >> parameters(attributeInfo) ::= << <if(attributeInfo.struct||attributeInfo.array)><attributeInfo:paramComposite()

    1熱度

    1回答

    空字符串請看下面的例子: <["foo", "", "bar"]; separator=","> 這給出結果: foo,,bar 但我需要: foo,bar 有什麼辦法來篩選在使用ST4中的分隔符格式化之前取出空字符串值? (在實際代碼中,這些值來自另一個模板,它具有<if>條件,並返回模型中不希望的數據的空結果,並且我不希望將條件移出該模板以保持模板封裝/隔離。 )

    0熱度

    1回答

    所以我有一個迭代,像這樣的列表: body(foo) ::= "<foo:{it|<\n><\n><bar(it)>}>" bar(x) ::= "[<x.key>:<x.value>]" 我想使用索引。 bar(x) ::= "[<i0>:<x.key>:x.value>]" 我看到有一個<i>和<i0>指數的道理,但我不知道如何使用它,或者它可以用來做我想做的事情。

    2熱度

    1回答

    如何從StringTemplate中以String形式檢索編譯時錯誤消息? 比如這個代碼: STGroup stg = new STGroup('<', '>'); CompiledST compiledTemplate = stg.defineTemplate("receipt", "<an invalid template<>"); if (compiledTemplate == null

    0熱度

    1回答

    分析樹上下文節點的生成訪問器不符合getProperty()/ isProperty()/ hasProperty()標準。因此,ST不能直接應用於分析樹。似乎有3種替代方法將ST應用於生成的分析樹: 爲每個生成的上下文節點創建ST模型適配器類。然後ST可以直接應用於生成的分析樹。 這裏重複的工作是創建模型適配器。 對於每個分析樹節點,創建一個符合getProperty()/ isProperty

    2熱度

    1回答

    我在Java中使用StringTemplate 4.0.8。 在StringTemplate-4 documentation,它說, 字典的字符串也可以是可以參考的屬性 一旦 字典值已經嵌入在模板中,這將成爲通過屬性的動態作用域可見模板。 我到底該怎麼做?我可以做這樣的事情: output(input) ::= "The output is: <aDicitionary.input>" aDi