所以我对字符串有这个词法规则:
STRINGLIT:'"' ((' \' [\" bftrn])|〜[\ n \"])*'"' ;
例如,使用输入"abc"
,我希望abc,<EOF>
放弃"
我在这里阅读http://www.antlr2.org/doc/lexer.html您可以使用! operator
。然后我会:
STRINGLIT:&#39;&#34;&#39;! ((&#39; \&#39; [\&#34; bftrn])|〜[\ n \&#34;])*&#39;&#34;&#39;! ;
但是我无法使其适用于代码。
答案 0 :(得分:1)
自v3(您使用的是v4)后,不再支持Server Site Platform Size(GB) Growth(GB)
a Primary Windows 150 50
b Secondary Unix 100 -100
c Primary Oracle 500 0
运算符的v2功能。
v3或v4中没有等效运算符。剥离引号的唯一方法是在解析后在侦听器或访问者中执行此操作,或者在您的词法分析器中嵌入目标特定代码:
import csv
t1 = open('/day1.csv', 'r')
t2 = open('/day2.csv', 'r')
outputt=open("/growth.csv","w")
fileone = t1.readlines()
filetwo = t2.readlines()
for line in filetwo:
row = row.split(',')
a = str(row[0])
b = str(row[1])
c = str(row[2])
d = float(row[3])
f = float(filetwo.row[3] - fileone.row[3])
outputt.writerow([a,b,c,d,e,f])
outputt.write(line.replace("\n","") + ";6column\n") outputt.close()
fileone.close()