jison

    0熱度

    2回答

    作爲一個寵物項目,我試圖用Jison(一個Bison的JavaScript克隆)製作groff解析器,但是我努力想弄明白groff的語法是否爲LALR(1),我正在努力研究。 有沒有人對此有所瞭解? 在此先感謝。 更新1 針對布萊恩擔心,這裏是我的問題的詳細信息: Groff還用C++編寫,並且不使用野牛,我得出的語法我。 我已經上傳了我的一切進步here

    0熱度

    1回答

    我想在JavaScript中爲Lilypond語言的音樂符號編寫解析器。我的第一個手動嘗試工作,但只能處理該語言的一小部分。由於Lilypond使用野牛文件來定義它的語法[1],JISON聲稱能夠從野牛文件中工作,我的想法是可能使用這些定義在JavaScript中生成解析器。 我找不到任何地方的任何例子,並試圖將這些文件直接送入JISON只是拋出錯誤。 什麼是最好的方法來解決這個問題? [1]:見

    0熱度

    1回答

    我有以下最低限度的語法示例,我希望使用Jison。 /* lexical grammar */ %lex %% \s+ /* skip whitespace */ [0-9]+("."[0-9]+)?\b return 'NUMBER' [0-9] return 'DIGIT' [,-] return 'SEPARATOR' // EOF means "e

    2熱度

    1回答

    我正在通過jison documentation進行閱讀,其中一個示例給出了一個與文件結尾相匹配的詞法分析器規則(<<EOF>>)。但是,只有在以JISON格式編寫文法時才能使用該功能。相反,我使用JSON格式來描述我的語法,但是在描述如何匹配文件末尾的文檔中找不到任何內容。我曾嘗試使用"<<EOF>>"作爲詞法分析規則,但字面上匹配字符串<<EOF>>。 我該怎麼做?是否有更多關於jison丟失

    1熱度

    1回答

    我試圖用jison(http://zaa.ch/jison/docs/)編寫簡單的解析器,停留在描述文本中。 %lex %% [\s\n\t]+ return 'TK_SPACE'; [0-9]+("."[0-9]+)?\b return 'TK_NUMBER'; [a-zA-Z]+([a-zA-Z0-9]+)?\b return 'TK_WORD'; <<EOF>>

    0熱度

    1回答

    我有一個簡單的文件格式,我想用jison解析器生成器進行解析。該文件可以包含任意順序和數量的多個表達式。下面是解析器jison文件: /* lexical grammar */ %lex %% \s+ /* skip whitespace */ \"(\\.|[^"])*\" return 'STRING' File\s*Version\s*\: return 'FI

    3熱度

    1回答

    在試圖建立我的Jison語法我有: %left 'OR' 'AND' %% Expression: Operation ; Operation: Expression Operator Expression {$$ = new yy.LogicalExpression($2, $1, $3)} ; Operator: 'AND' | 'OR'

    2熱度

    1回答

    有沒有辦法將數據傳遞給Jison,以便它可以在解析過程中引用它?作爲起始時,比方說,我們正在使用的calculator.jison,並希望通過它的對象,說 var parser = new jison.Parser(bnf); var data = `{m: 4, b: 2, x: 10}; parser.parse("m*x + b", data); 這裏有一個新的情況下VARIABLE

    3熱度

    1回答

    我對jison特別新,並且設法將有用的查詢解析器拼湊在一起。現在我試圖創建一個解析器可以解析像「一個== 1和b == 1和c == 1」的字符串轉換爲對象像 {and: [ {a: {eq: 1}}, {b: {eq: 1}}, {c: {eq: 2}} ]} 而串像「一個== 1或b == 1和c == 1" 應解析爲一個對象像 {or: [ {a

    0熱度

    1回答

    我使用Jison爲大專以上的項目,我需要做出switch每個識別的標記,這樣我就可以呈現給教授是這樣的: <identifier, s> <operator, => <identifier, a> <operator, +> <identifier, b> 關於如何得到這個沒有做任何方式重複到正則表達式手動? (我的意思是,Jison使用正則表達式內部,但是這不是我的事) 我試圖做的是