이전

리뷰 (2)

한줄평
평점 분포
  • 리뷰 총점10 0%
  • 리뷰 총점8 50%
  • 리뷰 총점6 50%
  • 리뷰 총점4 0%
  • 리뷰 총점2 0%
연령대별 평균 점수
  • 10대 0.0
  • 20대 0.0
  • 30대 0.0
  • 40대 6.0
  • 50대 0.0
리뷰 총점 종이책
컴파일러 공부를 시작하기 위한 좋은 출발점
"컴파일러 공부를 시작하기 위한 좋은 출발점" 내용보기
lex와 yacc란 단어를 처음으로 들어본 것이 언제인지 기억은 나지 않지만 유닉스에서 사용하는 신기하고도 어려운 물건(?) 쯤으로 생각했던 기억이 있습니다. 그런데 마침 렉스와 야크에 관한 책이... 그것도 한글로 나왔기에(^^;) 그 동안 쌓아왔던 궁금함을 한번 풀어보고 싶은 마음에 이 책을 보게 되었죠. 만약 비슷한 생각을 가지고 있었던 분이라면 처음 몇 장만 읽어보아도 렉스와
"컴파일러 공부를 시작하기 위한 좋은 출발점" 내용보기
lex와 yacc란 단어를 처음으로 들어본 것이 언제인지 기억은 나지 않지만 유닉스에서 사용하는 신기하고도 어려운 물건(?) 쯤으로 생각했던 기억이 있습니다. 그런데 마침 렉스와 야크에 관한 책이... 그것도 한글로 나왔기에(^^;) 그 동안 쌓아왔던 궁금함을 한번 풀어보고 싶은 마음에 이 책을 보게 되었죠. 만약 비슷한 생각을 가지고 있었던 분이라면 처음 몇 장만 읽어보아도 렉스와 야크가 어떤 신기한 일(?)을 하는지 그 궁금함을 해결할 수 있을 것입니다. 이 책 내용을 간단히 살펴보자면, 처음 1장에서 3장까지는 렉스와 야크에서 사용되는 용어들을 설명하면서 렉스와 야크의 간단한 사용법과 서로 어떻게 맞물려 돌아가는지 알아볼 수 있는 간단한 예제들을 가지고 설명하고 있구요. 4, 5장을 통해 좀더 큰 예제인 메뉴 생성기와 SQL 파서를 처음부터 끝까지 차근차근 만들어보면서 렉스와 야크를 좀 더 유용하고 잘 사용할 수 있는 방법을 배울 수 있습니다. 6, 7장은 렉스 명세서의 형식과 야크 문법의 구조에 대해 논의하고, 각각에서 사용할 수 있는 특징과 옵션, 그리고 기능에 대해 살펴볼 수 있는 레퍼런스적인 특징이 있습니다. 8, 9장은 야크 문법에 존재하는 충돌(에러)을 찾아 수정하는 방법을 살펴보고, 파서와 어휘 분석기가 에러를 검출하는 방법에 대해서 알아봅니다. 처음 몇 장을 읽어나가면서 중간에 나오는 예제에 모르는 부분이 간혹 있었는데, 혹시나 주위가 산만한 제가(-.-;) 앞에서 못보고 지나친 내용이 있었나 열심히 앞부분을 찾아보았지만, 앞부분 어디에도 그런 내용이 없었고, 그 예제의 뒤에 나오는 내용에서 그 부분을 설명하고 있더군요. 처음 몇 장에서 혹 예제에 모르는 부분이 나오더라도 너무 긴장하지 말고, 그 부분을 눈여겨 봐두고 앞으로 계속 전진하기 바랍니다. ^^a 리눅스 상에서 gcc를 직접 소스를 다운받아 컴파일(물론 gcc로)해서 사용해본 경험이 있는데 그 때, '닭이 먼저냐? 달걀이 먼저냐?'하는 식의 다음과 같은 의문이 들었었죠. '흠... 컴파일러가 컴파일러를 만들다니... 음... 그렇다면, 가장 맨 처음에는 컴파일러를 어떻게 만들었을까?'하는 해결할 수 없을 것(?)만 같은 생각이었는데요.(대부분 이런 비슷한 생각을 해 보았을 것이다.) 하지만, 이 책을 읽고 나서 완전하진 않지만 그 의문에 대한 해결의 실마리를 잡을 수가 있었습니다. 컴파일러에 대해서 좀 더 알고 싶다거나, 자신만의 컴파일러를 만들어 보고 싶은 독자들은 꼭 한 번 읽어봐도 괜찮을 책이라는 생각이 드네요. 아마도, 컴파일러 공부를 시작하기 위한 좋은 출발점이 되어줄 것입니다.
4***l 2003.12.08. 신고 공감 2 댓글 0
리뷰 총점 종이책
lexical analyzer & parser
"lexical analyzer & parser" 내용보기
대학교 4학년 때 들었던 컴파일러 과목이 떠오른다. 간단한 과제이기는 했지만, 나름대로 구문 분석과 파싱이라는 걸 처음 해보았을 때, 랭귀지에 대한 이해를 높일 수 있었다. lex와 yacc은 그 뒤에도 유닉스 시스템 프로그래밍을 할 때를 비롯해 시험삼아 새로운 언어를 만들어볼 때도 아주 유용한 도구였다. 이를 한 번이라도 사용해본 프로그래머라면,,, 그 필요성을 절감할 것이다.
"lexical analyzer & parser" 내용보기
대학교 4학년 때 들었던 컴파일러 과목이 떠오른다. 간단한 과제이기는 했지만, 나름대로 구문 분석과 파싱이라는 걸 처음 해보았을 때, 랭귀지에 대한 이해를 높일 수 있었다. lex와 yacc은 그 뒤에도 유닉스 시스템 프로그래밍을 할 때를 비롯해 시험삼아 새로운 언어를 만들어볼 때도 아주 유용한 도구였다. 이를 한 번이라도 사용해본 프로그래머라면,,, 그 필요성을 절감할 것이다. 그리고, 오픈 소스 프로젝트로 lex와 yacc을 대신하는 flex와 bison이 있는데, 오픈 소스인만큼 pdf로 된 공개된 다큐멘트도 웹에서 구할 수 있다. 약간의 문법이 다르긴 하지만, 개념적인 면이나 활용하는 면에서는 거의 마찬가지이므로, 이를 사용하는 것도 많은 도움이 될 것이다. 그리고 나중에 나온만큼, 더 개선된 점도 많다. 개인적인 의견으로는 lex & yacc을 먼저 공부하고, 추후 flex & bison을 익혀나가는 것이 좋다고 생각한다. 쓰다보니 책보다는 lex & yacc에 대한 얘기가 되고 말았는데, 사실 이에 관한 책은 아직은 이 한 권 뿐이다. 책 내용은 정통적으로 설명을 잘 해 놓았지만, 풍부한 예제라든가, 좀 더 이해를 도울 수 있는 설명도 할 수 있었을 텐데 하는 아쉬움이 남는다... 우리나라에서 누군가 그런 책을 써주길...
m*****y 2003.08.07. 신고 공감 0 댓글 0