cocor

    0熱度

    1回答

    我有一個需求在.Net中編寫一個應用程序,可以讓商業客戶定義他們自己的規則。我一直在研究Biztalk服務器中的Microsoft的BRE(業務規則引擎)。到目前爲止,我的理解是,BRE爲您提供了一個靈活的規則編輯器,可以將.Net實體的拖放屬性拖放到某個條件(謂詞)中。然而,這是非常基本和直接的想法,在我腦海中可以簡單地通過定義我自己的領域特定語言來編寫易於理解的業務規則來實現。我所要做的就是使

    1熱度

    1回答

    我在C#中使用Coco R示例味道。 我試圖展開代碼寫字符串時的操作給出如 寫的hello world 我已經確定了方法,我在其中可以存儲和寫入字符串。我把了相關代碼,我遇到的問題: 擴展Taste.ATG | "write" { Expr<out type> (. if (type != integer) SemErr("integer type expected");

    1熱度

    1回答

    正如標題所說,我在使用Coco/R時遇到了麻煩。當我編譯我的文件,Andromeda.atg,它給了我兩個錯誤: 「 - 行1列1:‘編譯’預期」 「 - 線1352第5欄:名稱不匹配語法名稱」 我不知道爲什麼會發生這種情況。我嘗試將COMPILER Andromeda系列移動到頂端,但同樣的錯誤彈出。 這是我的整個文件:http://pastebin.com/PezqZb6y 感謝, 西奧

    2熱度

    2回答

    有沒有一種衆所周知的方法,如何在Coco/R中實現象Python/Boo中的縮進? Coco/R忽略空格,但我需要以某種方式基於下一行縮進生成beginBlock/endBlock標記。 現在,我使用預處理器,它插入'{','}'和';'在輸入流中,通過比較行間的縮進。在Coco/R語法中,我使用弧形括號作爲beginBlock/endBlock標記。如果輸入流沒有commens(它也可以嵌套),

    0熱度

    2回答

    我ATG文件定義了一個代碼塊作爲 Codeblock = "<#" {anychar} "#>" 當可可生成的解析器遇到一個塊這樣的: <# a=5; print "Hello world!"; #> 令牌拿起 a=5; print "Hello 這正是我想要的。 然而,當它遇到這樣的代碼: <# a=5; print "Hello Worl

    0熱度

    1回答

    對於大學項目,我必須創建一個工具來檢查c#代碼的有效性。有效性意味着檢查所有變量是否遵循駱駝大小寫或檢查類名是否以大寫字母開頭等等。必須遵守的規則可以變化。我遇到的最大問題是從源代碼中檢索類名稱,方法名稱,屬性和行號等詳細信息。於是我想出了以下解決方案, 使用語言解析器(如COCO/R或ANTLR) 使用正則表達式 通過根據C#語法文件編碼...只是,如果其他等等上... 反射API - 希望這不

    2熱度

    2回答

    我使用COCOR以產生一個Java類掃描器/解析器代碼塊: 我有在創建EBNF表達一些麻煩匹配一個碼塊: 我假設碼塊由兩個公知的標記所包圍: < &和&> 例如: public method(int a, int b) <& various code &> 如果我定義的非終結符號 codeblock = "<&" {ANY} "&>" 如果兩個符號中的代碼包含'<'字符,則生成的編譯器