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这样定