를 사용하여 간단한 언어 평가 :분석과 내가 같은 간단한 언어가 JavaCC에
program => (statement)+
statement => (<main_keyword> | <idl> <idu>) <lparan> expression <rparan> <semicolon>
expression => T(<plus> T)*
T => P(<multipliation>P)*
P => <idu> | <idl> <lparan> expression <rparan> | <number>
그리고 인식 토큰 :
<main_keyword> -> "main"
<idl> -> (["a"-"z"])+
<idu> -> (["A"-"Z"])+
<lparan> -> "("
<rparan> -> ")"
<semicolon> -> ";"
<number> -> (["0"-"9"])+
<plus> -> "+"
<multiplication> -> "*"
I를 내가 같이 위의 구문 분석 CFG를 사용
funa X (X+3*funb(1)) ;
funb Y (2*Y) ;
main (2+func(func(1))) ;
func A (funa(A)) ;
을 위의 구문을 javaCC를 사용하여 구문 분석 할 수 있지만 구문 분석기를 사용하여 이러한 프로그램을 평가하는 방법은 없습니다. 위의 프로그램은 15로 평가됩니다. javaCC에서 구현하는 방법은 파서 프로덕션을 사용하는 것이 가능합니까? 기능은 호출 전이나 호출 후 어느 위치 에나 나타날 수 있습니다.
감사