저는 LaTeX를 MathML로 변환하는 Bison/Flex 프로그램을 작성하고 있습니다. 순간, 함수를 처리 (예 : \ SQRT, \의 FRAC 등) 모든 기능Flex가 문자열 일치를 들소로 반환 할 수 있습니까
\\frac {return FUNC_FRAC;}
의 토큰으로, 다음과 같이 작동 및 설명에 그 역할을 다시 들소에 토큰 FUNC_FRAC을 전달합니다
그러나 이는 잠재적으로 무제한의 토큰을 정의하고 저글링해야 함을 의미합니다. 제가하고 싶은 것은 이와 같이 쓰여진 것처럼 작동하지 않습니다.
\\[A-Za-z]+[0-9]* {return the-matched-string;}
와 들소 : 플렉스에서
function: "\frac" LBRACE atom RBRACE LBRACE atom RBRACE {$$ = "<mfrac>" + $3 + $6 + "</mfrac>";}
오, 소년. yytext 물건. 기억 나 대학 –
내가 질문을 보지 않았 으면 좋겠어 ... 내가 오래된 프로젝트를 끝내고 싶어하게) –
Lex와 Yacc 책은 함수에 대한 지원을 추가하고 손 코드를 피하는 방법을 보여주는 간단한 계산기 예제를 가지고있다. 각 함수를 호출하고 위의 TOK_ID 스타일을 사용하여 yacc/bison에 테이블을 작성하고 create_id_node에서 많은 작업을 수행합니다 –