파서 스캐너 관련 질문드립니다..
글쓴이: danojib / 작성시간: 토, 2015/10/03 - 7:43오전
안녕하세요. 전역 후 칼복학한 학부 2년생 입니다.
이번 학기에 finite automata, context-free-grammar등과 관련된 부분을 배우는 중인데 막히는 부분이 있어서 질문 드립니다.
지금 해야 하는게 이미 존재하는 자바 컴파일러(파서, 스캐너등이 코드로 주어집니다.) 를 수정하여 계산기를 만들어야하는데 감이 잘 안오네요.
일단은 파서를 위한 문법을 세우는 중인데 중간에 주어지는 인풋 형식이 바뀐 이후로 어떻게 해야할지 막막합니다.
원래 세웠던 문법은 다음과 같습니다.
E -> TE'
E' -> AddTE' | ; | Epsilon // 모든 인풋 끝에 마침 문자로 ; 가 주어집니다.
T -> FT'
T' -> MulFT' | Epsilon
F -> (F') | num // num 은 숫자를 뜻하는 터미널입니다.
F' -> E | Inum
I -> ++ | --
Add -> + | -
Mul -> * | / | %
여기서 원래라면 (++3);
이런식으로 인풋이 주어 지기로 했었다면 이제는 모든 (pre/post - increment, decrement), unary expression 을 괄호로 감싸기로 했다네요.
예를들면 (++)3; 이런 식입니다.
문법을 어떤식으로 고쳐야 할지, 위의 세가지중 어떤 부분을 스캐너에서 처리해야 할지 잘 모르겠네요. 선배님들 도움이 필요합니다..
Forums:
답변은 아니지만.
finite automata, context-free-grammar 일단. 찾아보면. 여러가지가 나오네요. ㅇ_ㅇ;;
http://search.naver.com/search.naver?ie=utf8&sm=stp_hty&where=se&query=finite+automata%2C+context-free-grammar
http://www.google.co.kr/search?hl=ko&source=hp&biw=&bih=&q=finite+automata%2C+context-free-grammar&gbv=2&oq=finite+automata%2C+context-free-grammar&gs_l=heirloom-hp.12..0i30.1306.1306.0.3249.1.1.0.0.0.0.139.139.0j1.1.0....0...1ac..34.heirloom-hp..0.1.139.CTKc_yB2XC0
http://search.daum.net/search?w=tot&DA=YZR&t__nil_searchbox=btn&sug=&sugo=&sq=&o=&q=finite+automata%2C+context-free-grammar
http://www.codeproject.com/search.aspx?q=finite+automata%2C+context-free-grammar&x=10&y=6&sbo=kw
----------------------------------------------------------------------------
젊음'은 모든것을 가능하게 만든다.
매일 1억명이 사용하는 프로그램을 함께 만들어보고 싶습니다.
정규 근로 시간을 지키는. 야근 없는 회사와 거래합니다.
각 분야별. 좋은 책'이나 사이트' 블로그' 링크 소개 받습니다. shintx@naver.com
댓글 달기