2012-05-14 4 views
0

시간을 절약하는 응용 프로그램을위한 최소한의 XML 구문 분석기를 작성하고 싶습니다. 필자는 XML 파싱을 지원할 라이브러리 나 파서를 사용하고 싶지 않습니다. 사용하기에 덜 효율적이기 (일부 태그 만 인식하면되기 때문에)입니다. 그러므로 나는 lex와 yacc를 사용하여 파서를 작성하기로 결정했다. yacc 자체에 응용 프로그램 코드를 작성하는 것이 아니라 직접 코드에서 lex 및 yacc가 만든 .h 파일에서 함수를 사용할 수있는 방법이 있습니까?lex 및 yacc에 의해 생성 된 코드의 함수 사용

답변

1

lex 및 yacc 생성 프로그램에서 내 보낸 함수는 최소화되어 있습니다. 파서는 yyparse을 호출하여 호출됩니다. lexer에서 yylex을 호출합니다. 다른 모든 것들은 바깥에있을 수 있습니다.

lex 및 yacc 파일 자체에서 일부 구문 분석 지원 루틴을 사용하는 것이 편리합니다 (다른 작업이 아니라 렉싱 및 구문 분석 작업으로 호출되는 도우미). 하지만 애플리케이션 로직은 아닙니다. (Yacc의 아주 간단한 교과서 예제를 제외하고)

관련 문제