Kim-Gayoung / RPCExample_Java

https://github.com/kwanghoon/rpcexample
0 stars 1 forks source link

genlrparser-exe.exe 파일 생성 중 읽어버리는 문제 #9

Closed Kim-Gayoung closed 6 years ago

Kim-Gayoung commented 6 years ago

https://github.com/Kim-Gayoung/RPCExample_Java/blob/cddaf14d92e25dcfa6c1f11e8204bc8c5ac08951/src/com/example/lib/CommonParserUtil.java#L364

genlrparser-exe.exe에서 파일을 완전히 작성할 때까지 기다릴 필요가 있음 디버깅 할 때 천천히 지나가면 잘 읽어옴 -> file write가 아직 덜 된 상태에서 읽는 것으로 판단됨

Kim-Gayoung commented 6 years ago

파일이 없는 상태로 처음 실행했을 때는 grammar_rules, action_table, goto_table 변수가 모두 비어있지만 실제로 grammar_rules.txt, action_table.txt, goto_table.txt를 확인해봤을 때 작성되어 있는 것을 확인할 수 있음.

만들어진 파일을 그대로 유지한(즉, 파일이 있는) 상태에서 실행을 하면 정상적으로 동작함.

kwanghoon commented 6 years ago

@Kim-Gayoung genlrparsergen 프로그램에서 종료하기 직전에 DONE 한 줄을 출력하도록 수정하고 Java에서 이 프로그램의 화면 출력의 각 줄을 읽어서 DONE이 나오면 생성된 3개의 파일을 읽도록 수정하면 된다. ProcessBuilder 클래스를 스터디해보면 실행시 화면에 출력되는 것을 Java 프로그램에서 어떻게 읽을 수 있는지 방법이 있다.

Haskell 프로그램도 네가 한 번 수정해봐라. 마지막에 DONE 한 줄을 출력하는 간단한 내용이니.