yacc, lex에서 심볼테이블을 어떻게 구현하죠?
글쓴이: 불량도ㅐㅈㅣ / 작성시간: 일, 2005/12/04 - 2:07오후
계산기 만드는 프로그램을 짜고 있습니다.
문제는 변수까지 다루어야 한다는 것입니다.
그러면 심볼 테이블이 필요하다는 애기인데...
어떻게 구현해야 하는지 감이 안 옵니다.
뜬구름 잡는 애기인것고 같고...ㅎ
Symbol Table 어떻게 구현하나요?
File attachments:
첨부 | 파일 크기 |
---|---|
![]() | 57.4 KB |
![]() | 57.4 KB |
Forums:
변수명과 값을 가진 구조체 배열 또는 linked list 등을 사용하시
변수명과 값을 가진 구조체 배열 또는 linked list 등을 사용하시거나, C++을 사용하신다면 그냥 map으로 구현하셔도 될 것 같네요.
joinc의 flex/bison 예제를 보시면 초간단 버전으로 변수명이 알파벳 한글자만으로 구성된 심볼테이블이 나옵니다. 참고하세요.
http://www.joinc.co.kr/modules.php?name=News&file=article&sid=190
-----
http://monpetit.posterous.com/
http://monpetit.tistory.com/
간단한 컴파일러 책 하나 참조해보시는것도 좋을 것 같습니다.일단
간단한 컴파일러 책 하나 참조해보시는것도 좋을 것 같습니다.
일단 symbol의 type을 정하시고(variable, const, struct 등등)
hash 정도로 구현하시면 됩니다. 대신 scope 이 있는 language 경우라면,
scope stack을 따로 처리 해 주시면 됩니다.
I thought what I'd do was,
I'd pretend I was one of those deaf-mutes.. or should I?
웹에서 주은건데 도움이 될지.
www.relisoft.com 에서 구한거죠.
압축을 풀면, SymbolTable 클래스가 있어요.
도움이 되시길.
댓글 달기