fslex

    2熱度

    1回答

    我在Mac上從F#PowerPack 2.0.0.0運行FsLex時遇到問題。當我只需運行程序我看到: $ mono /Library/Frameworks/Mono.framework/Versions/3.0.2/lib/mono/FSharpPowerPack-2.0.0.0/bin/fslex.exe Unhandled Exception: System.TypeLoadExc

    0熱度

    1回答

    使用JQuery UI autocomplete當用戶從遠程源填充文本框表單時,我們可以建議項目。 在遠程數據源,我們有這樣的文件: <?php sleep(3); // no term passed - just exit early with no response if (empty($_GET['term'])) exit ; $q = strtolower($_GET["ter

    3熱度

    1回答

    我知道這是可能的參數傳遞到詞法分析器: rule tokenize scope = parse | whitespace { tokenize scope lexbuf } | newline { newline lexbuf; tokenize scope lexbuf } ,但我不能確定以類似的方式我解析器開始符號。 我試圖把它定義是這樣的:(感謝th

    1熱度

    1回答

    我正在實施與fslex/fsyacc腳本語言,並有一個大用戶輸入(即> 1k腳本)的問題,特別是當詞法分析器分析一個非常大字符串。 我在自定義詞法分析器函數中掃描字符串(以允許用戶使用帶反斜槓的引號來轉義字符)。這裏的功能: and myText pos builder = parse | '\\' escapable { let char = lexbuf.LexemeChar(1)

    3熱度

    1回答

    我正在嘗試使用fslex和fsyacc來編寫一個小的DSL解析器。輸入由兩種不同語言的交錯塊組成,這些語言需要不同的放鬆規則。我如何編寫我的fslex文件來支持? (我想類似的情況是如何定義fslex文件爲C語言,但與內聯彙編,這需要不同的詞法規則的支持?) 什麼我現在是這樣的: rule tokenize = parse | "core" { core lexbuf } .

    0熱度

    2回答

    我目前正在學習基於解析一個簡單的計算lexing和解析(基於F#工具集),我卡在我的詞法分析器沒有前進消耗整個字符串: let lexeme = LexBuffer<_>.LexemeString // ... rule test = parse | digit+ { Console.WriteLine("1_" + (lexeme lexbuf)); test lexbuf; }

    0熱度

    1回答

    對github,FsLexYacc項目有一個測試目錄。我嘗試設置最簡單的一個(「LexAndYaccMiniProject」)。 我請按照下列步驟操作: 1 /創建名爲「LexAndYaccMiniProject」 的F#控制檯應用程序 2 /安裝包( 「PM>安裝,包裝FsLexYacc」 從VS 2013社區它運行成功,但只能在項目目錄下的軟件包目錄下創建文件) 3/Close solutio

    3熱度

    1回答

    上終止並解析錯誤我的詞法分析器應該在分類期間區分括號並保留一疊已打開的括號。爲此,我在我的FSL文件中指定一個輔助功能是這樣的: let updateBracketStack sign = // whenever a bracket is parsed, update the stack accordingly match sign with | '[' -> push sig

    0熱度

    1回答

    我一直在使用fslex和fsyacc,與F#源文件(.fs他們從詞法分析器(.fsl)和解析器生成(.fsp)規則,是指原.fsl(有時在同一.fs源文件)與各地聲明的地方,如下所示(數字是行號): lex.fs 1 # 1 "/[PROJECT-PATH-HERE]/lex.fsp ... 16 # 16 "/PROJECT-PATH-HERE]/lex.fs 17 // This

    1熱度

    1回答

    我想使用FsLex和FsYacc來分析一個簡單的腳本語言,並且我在區分minus運算符和負數時遇到了問題。 如果我評估術語「1 - 2」,解析器將返回所需的AST:Minus(NumberLiteral(1.0),NumberLiteral(2.0))。但是,如果我評估術語「1-2」,詞法分析器將產生數字1,然後是數字-2,這不是有效的輸入。 我已經做了一個最小的程序來重現我的問題。 AST這樣定