小编Eri*_*son的帖子

在Marpa语法中制作0+长度列表的简明方法?

我是Marpa的新手.我已经尝试了几种方法来描述我的语法中的0个或更多个术语的列表,我想避免使用多个解析树.

我的语言将只有1个组件,后跟0 +子组件:

package => component-rule [subcomponent-rule ...]
Run Code Online (Sandbox Code Playgroud)

我首先尝试的是这样的:

{ lhs => 'Package', rhs => [qw/component-rule subcomponents/] },
{ lhs => 'subcomponents', rhs => [qw/subcomponent-list/] },
{ lhs => 'subcomponent-list', rhs => [qw/subcomponent-rule/], action => 'do_subcomponent_list' },
{ lhs => 'subcomponent-list', rhs => [qw/subcomponent-list subcomponent-rule/], action => 'do_subcomponent_list' },
{ lhs => 'subcomponent-list', rhs => [qw//], action => 'do_subcomponent_empty_list' },
{ lhs => 'subcomponent-rule', rhs => [qw/subcomponent subcomponent-name/], action => 'do_subcomponent' },
Run Code Online (Sandbox Code Playgroud)

(帖子末尾的完整代码.)

这是我的意见:

$recce->read( 'component', );
$recce->read( 'String', 'MO …
Run Code Online (Sandbox Code Playgroud)

perl marpa

5
推荐指数
1
解决办法
155
查看次数

是否有工具从文件中自动提取公共子程序?

我在Perl中有两个1000+行程序,每个程序在主文件中有大约20个子程序.一个是前一段时间从另一个分叉的,我想要分解公共部分(在向后移植特征之前).是否有一个diff工具将子例程(和前面的注释)视为单位,并将公共单位提取为新文件?(如果子程序的一行不同,则单位不匹配.)

如果有帮助,我的SCM目前是Subversion.处理代码的Perl脚本很酷.

svn ide perl refactoring

3
推荐指数
1
解决办法
217
查看次数

是否有用于堆栈效果的 Forth 静态分析器?

我正在因导致堆栈溢出的编程错误而失去生产力。

例如,如果我drop在一个IF ELSE THEN分支中、一个循环中省略 a并且出现堆栈溢出,我通常必须重新启动我的开发环境。我在iCEstick上使用SwapForth

是否存在预测编译字堆栈结果的静态分析器?

像检查代码是否始终与 ( nnn nnn -- f ) 文档匹配的自动化工具?

forth

3
推荐指数
1
解决办法
222
查看次数

标签 统计

perl ×2

forth ×1

ide ×1

marpa ×1

refactoring ×1

svn ×1