나는 간단한 Basic-like 언어를 쓰고있다. 어떤 이유로 나는 'call my_subroutine'을 사용하여 서브 루틴을 호출하는 대신 'call'키워드를 피하고 싶습니다. E.g: a=8:do_something:b=c+d
매개 변수 자체 명령으로
나는 서브 루틴을 선언 할 수있는 잘 작동하는 방법을 가지고있다. Flex는 또한 선언 된 서브 루틴이 사용자 문자열에 나타날 때 인식합니다. 그러나 나는 들소 선언에 어려움이있다. 다음과 같이 내가 할 :
이 %token CALLSUB ... ... ... stmt: ... CALLSUB { $$ = opr(CALLSUB, 2, NULL, NULL); } //note: to be referred later ...
내 플렉스
yylval.iValue = ... //the proper address return CALLSUB;
같은 서브 루틴과 수익을 인식하고 지금은 괜찮아 보이지만,에가 있기 때문에 매개 변수가 반환되지 않습니다 최대 Bison에서 선언 된 매개 변수가 없습니다 (위의 참고 참조).
하나가 대신 토큰의 변수로 선언 할 수 있다고 생각 할 수있다 언뜻하지만 예상치 못한 공포를 주도 할 ...
해결책은 무엇입니까?
그게 전부 야! 고마워요! – Steve