我正在测试P::RD 教程中的语法,以便开发自己的语法。我还没有弄清楚如何打印字符串声明并将“$”附加到它的前面。例如“STRING sDir”应该打印出“$sDir”。只需执行 $string =~ s/STRING /\$/ 就足够简单了,但是有赋值的情况呢?例如。“字符串 sDir = aNewDir”。
这是语法
OP : m([-+*/%]) # Mathematical operators
INTEGER : /[-+]?\d+/ # Signed integers
VARIABLE : /\w[a-z0-9_]*/i # Variable
STRING : /STRING/i # String declaration
expression : INTEGER OP expression
{ return main::expression(@item) }
| VARIABLE OP expression
{ return main::expression(@item) }
| INTEGER
| VARIABLE
{ return $main::VARIABLE{$item{VARIABLE}} }
我开始认为正则表达式就足够了,但想知道如何为逗号分隔的声明创建一个复杂的表达式,例如 "STRING, foo, bar" -> $foo; $酒吧;