개체의 텍스트 표현이 포함 된 파일이 있습니다. 필자는 텍스트를 파싱하고 객체를 반환하는 결합 파서 문법을 작성했습니다. 이 텍스트에서 "#"은 주석 구분 기호입니다. 해당 문자에서 줄 끝까지의 모든 내용이 무시됩니다. 빈 줄도 무시됩니다. 한 번에 한 줄씩 텍스트를 처리하여 매우 큰 파일을 처리 할 수 있습니다.전처리 스칼라 파서 리더 입력
일반 주석과 빈 줄 논리를 사용하여 파서 문법을 혼란스럽게하고 싶지는 않습니다. 전처리 단계로 이것을 제거하고 싶습니다. 나는 이런 식으로 뭔가를 할 수있는 라인의 반복자에 파일을 변환 :
Source.fromFile("file.txt").getLines.map(_.replaceAll("#.*", "").trim).filter(!_.isEmpty)
어떻게 연결자 파서에 그런 식의 출력을 전달할 수 있습니다? 이 같은 필터링 된 식 밖으로 Reader
개체를 만드는 방법을 알아낼 수 없습니다. Java FileReader
인터페이스가 그런 식으로 작동하지 않습니다.
이 방법이 있습니까, 또는 내 주석 및 빈 줄 논리를 구문 분석기 문법에 넣어야합니까? 후자의 경우 이미 나를 위해 이것을 수행하는 일부 util.parsing
패키지가 있습니까?