context-free-grammar - 这种任意语言中的“开始”和“结束”是否应该与 CFG 有关?
问题描述
因此,我正在编写一个 CFG 主体以通过 SableCC 生成编译器,并且给定的示例在程序的开头和结尾分别有这些“ Start ”和“ End ”。
示例代码
Start
Print 10;
int a,b;
End
我想它们也是代币,因为不会出现在 Productions 上。所以我用语法写了它们,比如:
Tokens
number = ['0'...'9']+;
identifier = letter(letter|number)*;
opaddsub = '+' | '-';
opmuldiv = '*' | '/';
opsemicolon = ';';
opequal = '=';
parleft = '(';
parright = ')';
comma = ',';
blank = (' ' | 13 | 10 | 9 )+;
start = 'Start'
end = 'End'
虽然我没有信心,如何写作品仍然让我感到困惑,但我想得到帮助。
解决方案
推荐阅读
- php - 我应该在我的 Laravel 应用程序中使用什么层或模式?
- flutter - Android 和 Flutter 引擎中的 Dart 版本不同
- c# - 如何调试“无法转换为 system.collections.generic.list”错误
- android - 如何在 Flutter 中创建自定义的 android 应用程序类?
- maven - 在jenkins docker中编译时如何“解决-source 1.5 [错误]中不支持的lambda表达式”
- http - JMeter/Java:http 连接超时对 MacOS 上的每秒事务数 (tps) 有影响,而不是在 CentOS 上
- php - 如何在laravel中增加日期天数
- javascript - 即使存在 CORS 标头,DELETE 方法的获取请求也失败
- html - Angular 8:为选择标签设置默认选择值
- java - 后台限制如何应用 onResume 状态活动?