lex, yacc, lemon
Lex & Yacc(소개와 예제 중심으로)
    http://wiki.kldp.org/wiki.php/LinuxdocSgml/Lex_Yacc-KLDP
    출발점으로 삼기에 좋은 자료이다.

    아래의 Makefile은 이 페이지의 예제를 컴파일할 때 쓰기 편하게 만든 것이다.
    위 페이지에 나온 것을 좀 수정한 것인데, 생긴 것은 이상하지만 그럭저럭 동작한다.
    현재 디렉토리에 있는 *.l 파일 목록을 구하고 여기서 확장자를 제거하여 빌드 타겟 목록을 만들어내므로
    새로운 .l, .y 파일을 만들어내면 Makefile 수정하지 않고 make만 실행해도 알아서 빌드해준다.

CC       = cc
# 순서를 -lfl -ly로 하면 y_calc 샘플이 오동작한다. CentOS-5.10, Arch-2013.10 모두 마찬가지.
LIBS     = -ly -lfl
#LEX      = lex
LEX      = flex
#YACC     = yacc
YACC     = bison -y
CFLAGS   = -DYYDEBUG=1

YL_TEMP  = y.tab.c y.tab.h lex.yy.c
L_FILES  := $(wildcard *.l)
TARGETS  := $(patsubst %.l,%,$(L_FILES))
all: $(TARGETS)

%: %.l %.y
    rm -f $(YL_TEMP)
    $(YACC) -d $@.y
    $(LEX) $@.l
    $(CC) -o $@ y.tab.c lex.yy.c $(LIBS)

%: %.l
    rm -f $(YL_TEMP)
    $(LEX) $@.l
    $(CC) -o $@ lex.yy.c $(LIBS)

clean:
    rm -f $(TARGETS) $(YL_TEMP)


Lemon Parser Generator
    http://en.wikipedia.org/wiki/Lemon_Parser_Generator
    SQLite에 yacc 대신 쓰인 파서 생성기. yacc/bison과 호환되지는 않는다고 한다.
by 시험さま | 2013/11/06 16:11 | 컴퓨터 | 트랙백 | 덧글(0)
트랙백 주소 : http://chanik.egloos.com/tb/3990164
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

< 이전페이지 다음페이지 >