小编921*_*214的帖子

什么是终端符号和非终端符号?

我正在阅读Rebol Wikipedia页面

“解析表达式是用解析方言编写的,与do方言一样,它是数据交换方言的面向表达式的子语言。与do方言不同,解析方言使用表示运算符和最重要的非终结符的关键字”

你能解释一下什么是terminalsnonterminals?我已经阅读了很多有关语法的内容,但不了解它们的含义。这是另一个经常使用此词的链接

grammar rebol context-free-grammar red

2
推荐指数
2
解决办法
238
查看次数

Rebol 中用于列表理解的“编译器”

我想编译这个列表理解:

>> lc [reduce [x y] | x in [1 2 3] y in [4 5 6]]
== [[1 4] [1 5] [1 6] [2 4] [2 5] [2 6] [3 4] [3 5] [3 6]]
Run Code Online (Sandbox Code Playgroud)

在:

collect [
   foreach x [1 2 3] [
       foreach y [4 5 6] [
           keep/only reduce [x y]]]]
Run Code Online (Sandbox Code Playgroud)

或者:

>> lc [reduce [x y] | x in range [1 5] y in range reduce[1 x] if x + y > 4]
== [[3 …
Run Code Online (Sandbox Code Playgroud)

dsl list-comprehension rebol red

0
推荐指数
1
解决办法
238
查看次数