2011-12-15 3 views
5

ocaml에서 파일의 내용을 읽는 방법? 특히 그들을 파싱하는 방법?Ocaml - 파일 및 구문 분석

예 :

한다고 가정 파일은 내가 원하는,이를 읽은 후

다음 (a,b,c);(b,c,d)| (a,b,c,d);(b,c,d,e)|을 포함 l1 = [(a,b,c);(b,c,d)]l2 = [(a,b,c,d);(b,c,d,e)]

구문 분석에 대한 좋은 자습서가 있습니까를 포함하는 두 개의리스트?

+2

질문을 다시 게시하지 마십시오. 기존 질문에 새로운 내용이 있으면 대신 수정하십시오. – BoltClock

답변

2

문법을 지정하고 ocaml이 렉서와 파서를 생성하도록하려면이 ocamllexocamlyacc 자습서를 확인하십시오. 나는 이렇게하는 것이 좋습니다. 실제로 파일 형식에 한 가지 유형의 토큰 만있는 경우, lexer를 사용하여 파일을 문법에 의해 유효한 것으로 간주되는 토큰으로 분할 할 수 있다면 ocamlyacc가 과도 할 수 있습니다.

5

menhir 파서 생성기 (후속어 ocamlyacc)의 경우에 좋은 사례입니다. 렉싱에는 ocamllex을 사용할 수 있습니다. 모두 좋은 문서가 있습니다.

또한 camlp4 또는 camlp5 스트림 구문 분석 능력을 사용할 수 있습니다.

lexing & parsing에 대한 위키 백과 페이지를 읽어보십시오.

+0

예제 코드 등을 참조 할 수 있습니까? – priyanka

+3

문서에는 예제 코드가 있습니다. –

3

저는 이런 식으로 PEG 파서 인 Aurochs을 사용하려고합니다. 거기에 repo에 예제 코드가 있습니다.