Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Parsing 反讽的转变减少了问题_Parsing_Shift Reduce Conflict_Irony_Reduce Reduce Conflict_Angelscript - Fatal编程技术网

Parsing 反讽的转变减少了问题

Parsing 反讽的转变减少了问题,parsing,shift-reduce-conflict,irony,reduce-reduce-conflict,angelscript,Parsing,Shift Reduce Conflict,Irony,Reduce Reduce Conflict,Angelscript,我一直在努力想办法解决一些轮班问题,减少我遇到的冲突。我环顾四周,发现了不同的修复主题,但似乎无论我做什么,我都找不到解决这些问题的方法 我正在尝试为Angel脚本编写一个语法类,Angel脚本是一个流行的脚本引擎 我从解析器类获得了BNF语法。 你可以在这里找到语言参考 在我的课堂上,我为每一条规则添加了一条我试图复制的BNF语法注释。目前我并没有使用我定义的关键词。一旦我能让它在没有冲突的情况下工作,我会回去尝试清理它。 这是我的班级 您应该能够创建一个Dll并使用语法资源管理器运行它,

我一直在努力想办法解决一些轮班问题,减少我遇到的冲突。我环顾四周,发现了不同的修复主题,但似乎无论我做什么,我都找不到解决这些问题的方法

我正在尝试为Angel脚本编写一个语法类,Angel脚本是一个流行的脚本引擎 我从解析器类获得了BNF语法。 你可以在这里找到语言参考

在我的课堂上,我为每一条规则添加了一条我试图复制的BNF语法注释。目前我并没有使用我定义的关键词。一旦我能让它在没有冲突的情况下工作,我会回去尝试清理它。 这是我的班级

您应该能够创建一个Dll并使用语法资源管理器运行它,您将看到所有错误。似乎大多数错误都来自同一个问题,所以我想,一旦我能解决这个问题,它几乎可以解决所有问题

编辑:这里是主要问题。这是主要的脚本状态,我知道它被分解成许多不同的规则,但我这样做是为了我可以尝试解决这个问题,我仍然没有运气

编辑:我试图压缩我的代码,希望通过减少错误,但它似乎保持不变,但只是看起来更加混乱。如果有人能帮我把它做好,我会非常乐意通过贝宝给他们寄几百美元。我就要放弃了,已经一个多星期了,我一直在做这件事。我的电子邮件是Anth0ny229@live.com.

状态S0(不足) 减少输入冲突:常量标识符无效int8 int16 int32 int64 int uint8 uint16 uint32 uint64 uint浮点双布尔?自动:: 轮班项目:

script' -> ·script EOF 
script -> ·script_0_list 
script_0_list -> ·script_0+ 
script_0+ -> ·script_0+ script_0 
script_0+ -> ·script_0 
script_0 -> ·import 
import -> ·import type import_0_opt identifier paramlist from string ; 
script_0 -> ·enum 
enum -> ·enum_0_opt enum identifier { identifier enum_1_opt enum_2_list } 
enum_0_opt -> ·shared 
script_0 -> ·typedef 
typedef -> ·typedef primtype identifier ; 
script_0 -> ·class 
class -> ·class_0_list class identifier class_1_opt { class_2_list } 
class_0_list -> ·class_0+ 
class_0+ -> ·class_0+ class_0 
class_0+ -> ·class_0 
class_0 -> ·shared 
class_0 -> ·abstract 
class_0 -> ·final 
script_0 -> ·mixin 
mixin -> ·mixin class 
script_0 -> ·interface 
interface -> ·interface_0_opt interface identifier interface_1_opt { interface_2_list } 
interface_0_opt -> ·shared 
script_0 -> ·funcdef 
funcdef -> ·funcdef type funcdef_0_opt identifier paramlist ; 
script_0 -> ·virtprop 
virtprop -> ·virtprop_0_opt type virtprop_1_opt identifier { virtprop_2_list } 
virtprop_0_opt -> ·private 
virtprop_0_opt -> ·protected 
script_0 -> ·func 
func -> ·func_0_opt func_1_opt identifier paramlist func_2_opt func_3_list statblock 
func_0_opt -> ·private 
func_0_opt -> ·protected 
func_0_opt -> ·shared 
script_0 -> ·var 
var -> ·var_0_opt type identifier var_1_opt var_2_list ; 
var_0_opt -> ·private 
var_0_opt -> ·protected 
script_0 -> ·namespace 
namespace -> ·namespace identifier { script } 
script_0 -> ·;
减少项目:

script_0_list -> · [EOF]
enum_0_opt -> · [enum]
class_0_list -> · [class]
interface_0_opt -> · [interface]
virtprop_0_opt -> · [const identifier void int8 int16 int32 int64 int uint8 uint16 uint32 uint64 uint float double bool ? auto ::]
func_0_opt -> · [const ~ identifier void int8 int16 int32 int64 int uint8 uint16 uint32 uint64 uint float double bool ? auto ::]
var_0_opt -> · [const identifier void int8 int16 int32 int64 int uint8 uint16 uint32 uint64 uint float double bool ? auto ::]
过渡:

script->S1, script_0_list->S2, script_0+->S3, script_0->S4, import->S5, import->S6, enum->S7, enum_0_opt->S8, shared->S9, typedef->S10, typedef->S11, class->S12, class_0_list->S13, class_0+->S14, class_0->S15, abstract->S16, final->S17, mixin->S18, mixin->S19, interface->S20, interface_0_opt->S21, funcdef->S22, funcdef->S23, virtprop->S24, virtprop_0_opt->S25, private->S26, protected->S27, func->S28, func_0_opt->S29, var->S30, var_0_opt->S31, namespace->S32, namespace->S33, ;->S34

你说费克斯是什么意思?默认情况下,班次减少冲突会自动以有利于班次的方式解决;这几乎总是假定的行为。问题是,当它真正涉及到解析时,它似乎失败了。但看起来可能是因为还有很多减少问题。我已经这样做了大约一个星期了,我似乎不能完全相信这一点。我已经编程10年了,这是我第一次真正需要寻求帮助。如果有人能让它工作,我会通过贝宝捐赠大约一百美元。我想这只是因为我的理解还不完全,但我无法用我的一生去理解它。