2011-01-10 2 views
4

동적 메모리 사용이 금지 된 임베디드 환경에서 실행되는 소프트웨어를 설계하는 중입니다. Lex와 Yacc는 애플리케이션에 매우 적합합니다.동적 메모리 할당이없는 Lex 및 Yacc

동적 메모리 할당을 전혀 사용하지 않도록 Lex와 Yacc를 구성 할 수 있습니까?

사전 정의 된 메모리 블록을 사용하도록 Lex와 Yacc을 구성 할 수 있습니까? 따라서 사전 정의 된 공간에 동적 메모리 사용을 제한 하시겠습니까?

동적 메모리 사용을 프로그램 초기화로만 제한 할 수 있습니까 (예 : 프로그램을 처음 실행하는 경우)?

편집 : TonyK에 대한 응답으로, 나는 파서가 동적 메모리를 사용하지 않기를 바란다.

당신이 그렇게 할 수 있습니다

+2

'malloc'구현시 링크를 고려한 적이 있습니까? – finnw

답변

0

확실하지 감사 - 이러한 도구가 생성하는 C 동적 할당을 수행하려는 경우 다음 당신이 힘든 시간을 정지를해야합니다. 아마도 가장 좋은 방법은 할당 된 메모리를 사용하여 허용하려는 자체 할당 시스템을 만드는 것입니다.

2

물론 Lex와 Yacc를 직접 컴파일 할 수 있다면 가능합니다. 자신 만의 malloc을 구현하고 무료로 링크해야합니다. (Lex와 Yacc는 순수한 C라고 가정합니다.)

편집 또 다른 질문을 오해 한 적이 있습니까? Lex와 Yacc이 제한된 양의 메모리를 사용하기를 원하십니까? 아니면 제한된 메모리를 사용하는 파서를 생성하기를 원하십니까?

+0

파서가 동적 인 memmory를 사용하지 않기를 바란다. –

관련 문제