1
이전에 정의 된 다른 목록에서 하스켈 식 목록 구성을 지원하고자합니다. 예 : [2 * x + 1 | x < -list1]; 동시에 평가를 수행하고 새 목록을 인쇄하십시오.ANTLR 의미 론적 평가
나는 다음과 같은 시도 :
constructlist
: { ArrayList<Integer> myList= new ArrayList<Integer>();
ArrayList<Integer> newList = new ArrayList<Integer>();}
'[' op1= expression '|' op2= expression '<' '-' IDENT ']'
{ myList= lists.get($IDENT.text);
for(int i=0;i<myList.size();i++)
{
variables.put($IDENT.text,myList.get(i));
newList.add($op1.result);
}
{System.out.println(newList);}
;
하지만이 확실히 작동하지 않습니다. 내가 표현 어떤 식의 결과를 반환있다 (예 : X의 * y를 + 2 ... 변수는 이전에 초기화되어 제공
이이 사람이이