grammar

    1熱度

    2回答

    我應該手動應用生產規則來找出這個語法生成的語言嗎?這很乏味,是否有任何技巧/提示加快速度? G = {{S, B}, {a, b}, P, S} P = {S -> aSa | aBa, B -> bB | b} 編輯:我發現Matajon的答案是好的,是想通過非終端符號生成的每一種語言,然後將它們結合起來。 但是,當我有能力解決這樣一些複雜的例子我仍然停留: G = {{S, R, T},

    11熱度

    2回答

    也就是說,有沒有一種工具可以自動顯示給定語法的完整語言,包括突出顯示歧義(如果有的話)?

    7熱度

    1回答

    該項目是關於將半自然語言翻譯爲SQL表格的。代碼: label(S) --> label_h(C), {atom_codes(A, C), string_to_atom(S, A)}, !. label_h([C|D]) --> letter(C), letters_or_digits(D), !. letters_or_digits([C|D]) --> letter_or_digit(

    1熱度

    3回答

    我試圖定義一個語法允許 [Foo]-[Bar]-[Baz][X]-[Y][Z] 我要分析此爲一套。 我現在有 語法樣品; items : (item association? item?)*; item : LBRACK ID RBRACK; association : ASSOCIATION; RBRACK : ']'; LBRACK : '['; ASSOCIATIO

    0熱度

    1回答

    自從我工作過CFG以來,已經有一段時間了。無論如何,我有一個特定的語法可以正確地貫穿所有的操作,但最後(我排除了其他標準的數學運算)。 S :: = S + T | S-T | T T :: = nonterminal | ID | -S | (S) 我所有的一切。我知道-S應該是-T。但另外......這對優先級有什麼影響。它是否含糊?在數學上,我可以顯然不會是正確的..但這不應該在歧義問題上有

    1熱度

    1回答

    我試圖用PLY (python implementation of yacc)編寫一個相當簡單的語法,並且在我需要時減少令牌字符串時遇到問題。 我想解釋一系列採取不同類型的參數命令。每種不同的論點都有不同的標記。令牌所散發出來的lex字符串可能是這樣的: COMMAND VARARG VARARG STRARG COMMAND VARARG STRARG STRARG 我想yacc到每臺線降

    5熱度

    2回答

    S -> bA|aB A -> a|aS|bAA B -> b|bS|aBB 任何簡單的方法,而不是試圖找到一個字符串,會產生兩個分析樹? 有人可以給我一個可以證明這一點的字符串。

    3熱度

    3回答

    爲什麼我們將語法轉換爲喬姆斯基正常形式?有優勢嗎?

    2熱度

    2回答

    我已經回到基礎知識,試圖理解解析器如何匹配輸入行,如「asdf」或其他沒有爲此定義的規則的其他字符混雜。 我的詞法分析器: %{ #include %} %% "\n" {return NEWLINE; } 我的解析器: %{ #include <stdlib.h> %} % token NEWLINE %% program: | program lin

    1熱度

    1回答

    我的問題是:什麼是最好的技術來檢測分層或樹型? 我想認部分的HTML頁面,例如:用戶登錄菜單或導航菜單或內容主體,頁腳等 我與我實現了一個語法識別(我想不喜歡像Lex那樣的經典,對於這項工作的yacc,因爲他們不關心HTML數據的意義),並且使用PHP並且使用DOM解析器進行HTML遍歷(DOMDocument)。 我遇到了麻煩,因爲在html中以可視方式表示數據的方式存在差異。例如,一個菜單可以