lexical-analysis

    0热度

    1回答

    我正在为Ace编辑器编写语法突出显示器,并且在使用此语言正确搜索函数调用时遇到问题。函数调用有两种基本形式: 用括号: function(foo, "bar") 用冒号: function: foo, "bar" 我可以检测到这两种形式,但一旦我进入结肠式功能的状态打电话,我无法取回该状态的出(这弄乱了以下几行)。特别是,当函数调用以字符串结尾时存在此问题。 下面我做了一个较小版本的荧光笔

    0热度

    2回答

    我已阅读this和this问题。他们是相当有帮助的,但我仍然对C语法分析器中的令牌生成有疑问。 如果词法分析器检测到int a2.5c;,那么根据我的理解,将会产生7个令牌。 int keyword a identifier 2 constant . special symbol 5 constant c identifier ; special symbol 所以词法分析器不会报

    0热度

    1回答

    我试图来标记以下代码标记(乐星): foo ::= 5 bar ::= 15 foobar ::= 20 所以输出: ['foo', '::=', '5', '\n', 'bar', '::=', '15', '/n', 'foobar', '::=', '20' ] 我现在尝试以下操作: reTokens = re.compile(r' ') tokens = reTokens.s

    -1热度

    2回答

    我已通过文件输入码和我有根据它的数据和输出它的结果在一个文本文件以及.. 我的输出代码是下面产生.. public void Generator() { /// ....... Code public void DisplayTOKENS() { using (StreamWriter writer = new StreamWrite

    -1热度

    1回答

    龙书,练习3.3.10 UNIX shell命令.sh使用图3.9中的运算符在文件名表达式中定义文件名集。例如,文件名称表达式* .o匹配以.o结尾的所有文件名; SORT1?匹配sort.c的所有文件名,其中c是任何字符。显示文件名怎么sh正则表达式可以用等价的正则表达式只使用基本的工会,级联和关闭操作 那么究竟是什么字符串literall和任何字符串之间的区别来代替? 我虽然字符串文字是类似s

    0热度

    1回答

    最近,我一直在研究关于词法分析的编译器理论。 据我了解,有些构建词法扫描仪的方法,如: 使用Lex/Flex自动生成扫描仪。 建立你自己的一个。在示例中,我遇到了使用预读技术(模拟DFA,NFA)的switch case模型。 我的问题是哪一个更适合实现基本的编程语言(包括变量,条件,循环)? 他们应该如何在实践中使用?是否可以同时使用它们?

    2热度

    1回答

    我想要产生一个python正则表达式来表示词法分析器的标识符。我的做法是: ([a-zA-Z]([a-zA-Z]|\d)*) 当我使用这个在: regex = re.compile("\s*([a-zA-Z]([a-zA-Z]|\d)*)") regex.findall(line) 它应该像它不会产生标识符的列表。我是否错误地构建了表达式? 什么是代表形式的好方法: alpha(alph

    0热度

    1回答

    yytext [0]是什么意思?为什么我们应该在lex和yacc程序中使用?我是学习者,所以不介意这是一个愚蠢的问题。

    1热度

    1回答

    我正在使用Python模块重新编写用于词法分析的正则表达式。我一直在寻找一个完整的清单,列出哪些特殊字符必须被转义才能被正则表达式识别而无济于事。有人可以请我指出一个详尽的清单吗? 在当前的正则表达式我正在写竟然放弃我的麻烦该生产线是: [\|\^&\+-%\*\/=!>] 我想它识别字符:|^&+-%*/=!> 难道我没有逃过我的东西应该有?

    2热度

    3回答

    我需要什么: 可接受>1234 & 12.34 错误(不接受)>12.34.56 Scanner.L: Input : 1234 12.34 12.34.65 Output : Number Decimal_Number Decimal_Number Dot Number : ... %% [0-9]+ printf("Number "); [0-9]+"."[0-9]