grammar相关内容

int a[] = {1,2,};为什么在初始值设定项列表中允许尾随逗号?

也许我不是来自这个星球,但在我看来,以下应该是语法错误: int a[] = {1,2,};//最后多一个逗号 但事实并非如此.当这段代码在 Visual Studio 上编译时,我很惊讶,但我已经学会了不信任 MSVC 编译器就 C++ 规则而言,所以我检查了标准,它是标准也允许.不信你可以看8.5.1的语法规则. 为什么允许这样做?这可能是一个愚蠢无用的问题,但我想让你明白我为什么要 ..
发布时间:2021-09-03 20:24:54 C/C++开发

EBNF语法,用于以空格分隔的单词列表

我试图了解如何使用EBNF定义形式语法,尤其是用空格分隔的单词序列,例如 [ [ [ [...]]] 定义单词终端的正确方法是什么? 表示所需空白的正确方法是什么? 如何显示可选的重复列表? 在任何地方都有关于EBNF的示例演示教程吗? 非常感谢! 解决方案 您必须确定词法分析器是否要为空格返回标记(终端). ..
发布时间:2021-05-13 19:02:38 其他开发

yacc中的移位/减少错误

我知道语法的这一部分会导致错误,但是我不知道如何解决它,我什至都使用%left和right,但这没有帮助.任何人都可以帮助我找出该语法的问题吗.预先感谢您的帮助. %token变量数%right'='%left'+''-'%剩下 '*' '/'%left'^'%start S_PROOPEQUATION_SEQUENCE:公式'='方程;方程: 公式|公式'='方程;公式:总和表达|产品表达|表 ..
发布时间:2021-05-13 19:02:34 其他开发

无法在树发送程序中对块规则的优先级进行编码,而不对语句规则进行编码

我正在尝试对简单语法进行编码,该语法既包括普通语句,也包括用块括起来的语句.Block具有特殊的关键字.我已将阻止规则优先级指定为零,但是树发送器仍然不匹配它.即使报告错误,也就是其他规则不匹配.但是尽管如此,它还是不想匹配块!为什么以及如何解决? 代码: area = pi * r ^ 2;堵塞 {r = 12;} 尽管语句中不允许使用花括号,但 tree-sitter 与整个序 ..
发布时间:2021-05-13 19:02:31 其他开发

如何在Prolog中创建与另一个规则相反的DCG规则?

我正在Prolog中编写Commodore BASIC解释器,并且正在编写一些DCG进行解析.我已经验证了以下DCG可以正常工作,除了 variable 变量.我的目标是:对于不是布尔值,整数,浮点数或字符串的任何内容,它都是一个变量.但是,我通过 phrase 给出的任何内容只会导致 no . bool->[真的].布尔->[错误的].整数->[1].%如何匹配数字?浮动->[0.1].字符 ..
发布时间:2021-05-13 19:02:28 其他开发

JAPE规则句子包含多个案例

我如何检查一个句子是否包含组合?例如考虑句子.约翰被任命为Google的新首席执行官.我需要写一条规则来检查句子是否包含.我怎么能做到这一点.我尝试了以下.我需要检查字词前面是否有“新"字. 规则:CustomRules({句子包含{Lookup.majorType =="organization"},句子包含{Lookup.majorType =="jobt ..
发布时间:2021-05-13 19:02:24 其他开发

如何在语法中引用先前匹配的项?

我正在尝试解析BibTeX作者字段,并将其拆分为单独的作者.这将帮助我重写每位作者的姓名缩写.这是一个最小的示例: 使用v6;我的$ str ='{Rockhold,Mark L和Yarwood,RR和Selker,John S}';语法BibTexAuthor {令牌TOP {}令牌全文本{'{''}'}令牌作者{[['和'|| ..
发布时间:2021-05-13 19:02:21 其他开发

什么是PowerShell中的可扩展字符串

在PowerShell的文档,我遇到了表达式可扩展字符串: 参数模式设计用于解析Shell环境中命令的参数和参数.除非所有输入使用以下语法之一,否则它将被视为可扩展字符串: 不幸的是,我找不到可扩展字符串的定义,我的问题是:PowerShell中的可扩展字符串是什么? 解决方案 很遗憾,在撰写本文时,有关PowerShell字符串文字的官方帮助主题 ..
发布时间:2021-05-13 19:02:14 其他开发

乔姆斯基语言类型

我试图理解四种不同的乔姆斯基语言类型,但是我发现的定义对我而言实际上没有任何意义.我知道类型0是自由语法,类型1是上下文相关的,类型2是上下文无关的,而类型3是常规的.所以,有人可以解释一下,并把它放在上下文中,谢谢. 解决方案 一种语言是属于该语言的一组单词.但是,很多时候,无需列出语言中的每个单词,而是只需指定一组规则即可生成该语言的单词(并且仅生成那些单词)即可识别所查询的语言. ..
发布时间:2021-05-13 19:02:10 其他开发

NLTK FCFG语法标准/规范是什么?

NLTK (自然语言工具包)使您可以使用 nltk.FCFG.fromstring([此处为语法字符串])解析FCFG语法. FCFG语法格式规范在哪里?*?我用谷歌搜索将其杀死,但我只能找到此. *即语法语言规范 解决方案 来自演示: >>>从nltk导入CFG>>>语法= CFG.fromstring(“"“... S->NP副总裁... PP->NP... NP->Det N ..
发布时间:2021-04-24 19:37:49 Python

如何确定上下文无关的语法是否描述了常规语言?

鉴于任意上下文无关的语法,我如何检查它是否描述了常规语言? 我不是在寻找考试“技巧".我正在寻找可以编写的万无一失的机械测试. 如果有帮助,这是我可能会收到的CFG示例.具体来说,请注意,答案必须比查找左或右递归复杂得多,因为存在另一种递归并不自动表示语法是不规则的. S:A B C D X答:A:B:b BB:C:c C cC:D:D d DD:dX:x YX:Y:y XY: ..

编译-LL1语法

我正在研究编译器的魔力,但我不明白结果. 这是语法: S->一种 #A->B G D EB->+ |-|爱普生C->c C |爱普生G->碳D->.C |爱普生E->e B G |爱普生 当我尝试查找“第一"和“跟随"集时,得到的结果与使用在线预测变量得到的结果不同. 以下是给出的结果: 非终端符号/跟随集新币$一种 #cC e,.,#G ..
发布时间:2021-04-23 19:59:46 其他开发

不稳定的解析器.相同的语法,相同的输入将循环显示不同的结果.我想念什么?

我正在编写一个基本的解析器,该解析器读取stdin形式并将结果打印到stdout.问题是我在语法上遇到了麻烦: %token单词数字术语%%stmt:/*空*/|单词单词term {printf("[stmt] \ n");}|字号术语{printf("[stmt] \ n");}|字词|数字项;字词:WORD {printf("[word] \ n");};number:NUM {printf ..
发布时间:2021-04-15 19:49:23 其他开发

使用Bison递归规则的麻烦,并使用它来存储值

我正在尝试为Newick文件格式树制作一个flex + bison扫描器和解析器,以便对其进行操作.解释的实现语法基于简化((标签和长度始终是相同类型,由flex返回))此示例. 从本质上讲,这是一种文件格式的解析器,该解析器表示具有一系列(递归)子树和/或叶子的树.主树将始终以; 结尾,并且所述树和其中的所有子树将在(和)之间包含一系列节点,并命名为以及由 name 和:length 指定 ..
发布时间:2021-04-15 19:48:58 其他开发

如何根据以下内容减少解析器堆栈或“移出"当前令牌?

将以下语言描述为: 正式地:(标识符运算符identifier +)* 用简单的英语表达:将零个或多个操作写成一个标识符(左值),然后是一个运算符,然后是一个或多个标识符(右值) 在给定任意运算符 @ 的情况下,将使用该语言进行一系列操作的示例: A @ B C X @ Y 空格并不重要,也可以写得更清楚: A @ B CX @ Y 您将如何使用类似yacc的LALR ..
发布时间:2021-04-15 19:48:54 其他开发

Yacc/Bison语法用于语句序列

我正在尝试使用以下规则来解析语句序列:语句必须由至少一个换行符分隔,并且该序列可以由至少零个换行符填充.例如 \ nstmt \ nstmt \ n\ nstmt 到目前为止,我已经提出了这个Yacc语法, stmt_list:%空的|stmt_list stmt seps;9月:九月|九月; 但是它与我的示例不匹配,因为我的语法期望结尾处有换行符.有解析此内容的标准方法吗?谢谢. ..
发布时间:2021-04-15 19:48:51 其他开发

当一个规则覆盖另一个规则的子集时,消除语法歧义

我正在尝试建立一个小的野牛语法,但是部分定义存在问题.可以使用右侧合法的任何表达式(语法中的expression_list)作为参数来调用函数. 之所以出现此问题,是因为可以在左侧通过分配功能来定义功能(一个标识符,后跟一个标识符列表-语法中的assignment_expression和identifier_list) 我的问题是,如何消除语法中的歧义,因为左侧的合法语句是右侧合法语句 ..
发布时间:2021-04-15 19:48:45 其他开发