2016-03-26 17 views
0

jflex + javacup ile sözdizimsel bir Analixer yapıyorum.Jflex'te lambda sembolü nasıl oluşturulur?

Eh, benim .flex doğru tüm belirteçleri oluşturmak için yönetilen (SUBPPARAMLIST boş olabilir)

SUBPPARAMLIST ::= lambda | "(" EXPLIST ")" 

nerede lambda ortalama şey, ama ben bilmiyorum: .cup gramatic azından ben bu bölümü var lambda sembolü nasıl oluşturulur. boş olduğu için, çocuklar bir sembol gerekmez (siz "lambda" dediğimiz) benim problemi


WhatDoIWriteHere{return symbol(sym.lambda);}

cevap

0

boş üretimini anlamıyorum varsa bana bildirin, bana yardımcı olabilir umuyoruz. Bir üretim kuralına göre bu ifade:

SUBPPARAMLIST ::= lambda | "(" EXPLIST ")" ; 
lambda ::= ; 

Alıntı: Her dilbilgisi üretim sonra sıfır bir dizi izler sembolü ":: =", ardından terminal dışı bir sol tarafı vardır veya daha fazla eylem, terminal veya terminal olmayan semboller, ardından isteğe bağlı bağlamsal öncelik ataması ve bir noktalı virgül (;) ile sonlandırılır. Not "... sıfır veya daha fazla ..."

Muhtemelen gramer ayrıştırıcı de bu işleme kapasitesine sahip:

SUBPPARAMLIST ::= "(" EXPLIST ")" | ;