pyparsing

    1熱度

    1回答

    我正在嘗試遵循this教程,並且很難將本教程中使用的語法轉換爲pyparsing語法。博客的要點是創建表達式語言來解析和執行字典比較。 properties = { "name": "David Bowie", "years_active2": 47 } 表達來評估: ​​ 它們所使用的語法是: expr: literal { return $1 }

    3熱度

    1回答

    我有一堆句子,我需要解析並轉換爲相應的正則表達式搜索代碼。我的句子的例子 - LINE_CONTAINS phrase one BEFORE {phrase2 AND phrase3} AND LINE_STARTSWITH Therefore we - 這意味着該行,phrase one來 phrase2和phrase3在什麼地方。此外,該行必須以Therefore we LINE_CONTAI

    2熱度

    2回答

    我想用pyparsing編寫一個解析所有字符串包含特殊單詞的程序。我寫了下面的代碼,但它不工作: from pyparsing import * word = Word(alphas) sentence = OneOrMore(word) day = Literal("day") sentence_end_with_happy = sentence + day + sentence re

    1熱度

    1回答

    這是我第一次嘗試使用pyparsing,我很難設置它。我想用pyparsing來解析lexc文件。格式lexc用於聲明編譯成有限狀態傳感器的詞典。 特殊字符: : divides 'upper' and 'lower' sides of a 'data' declaration ; terminates entry # reserved LEXICON name. end-of-word or

    5熱度

    2回答

    我試圖分析和評估表達式,從文件給我作爲輸入,形式爲: var[3] = 0 and var[2] = 1 var[0] = 1 and var[2] = 0 and var[3] = 1 ... (其實我也讓「多位訪問「(即var[X:Y]),但讓我們忽略它現在...) 其中var是一個整數,[]指示位訪問。 例如,對於var = 0x9,上面的第一個表達式應該評估爲False,第二個表達

    2熱度

    2回答

    如何使一個解析器,這將使使用pyparsing庫根據表達式算術優先括號,使? 例如*具有比+更高的優先級。 應該這樣做: »> print(wholeexp.parseString('3+5-2')) [[['3', '+', '5'], '-', '2']] »> print(wholeexp.parseString('3+(5-2)')) [['3', '+', ['5', '-', '

    2熱度

    2回答

    我有以下的語法和測試案例: from pyparsing import Word, nums, Forward, Suppress, OneOrMore, Group #A grammar for a simple class of regular expressions number = Word(nums)('number') lparen = Suppress('(') rpare

    1熱度

    1回答

    我有以下的示例數據: 165 150 238 402 395 571 365 446 284 278 322 282 236 16 5 19 10 12 5 18 22 6 4 5 259 224 249 193 170 151 95 86 101 58 49 6013 7413 8976 10392 12678 9618 9054 8842 9387 11088 11393; 它是一個

    1熱度

    1回答

    我是PyParser的新手,但如果能夠使其工作,我非常樂意使用它。 我有消息字符串我想解析有一個命令動詞,多字對象的名稱,然後一個可選的後綴,一些例子: verb object verb another object verb object friday verb another object monday 動詞是從固定列表,後綴也是如此(本例中爲一週中的幾天),但對象名稱可以是任何其他

    1熱度

    1回答

    在我能找到優先權的大多數例子中,使用分組(oneOf)文字來設置相同的級別。採用這種方法,我將不得不查找其中的2個(或更多),然後繼續評估。我想要做的是將操作員分開,直接知道它是哪一個並對其進行評估。 這就是我想實現什麼,但優先級別現在是錯誤的 arith_prec = [ (subtract_op, 2, opAssoc.LEFT, ast.Substraction), (a