2011-11-02 4 views
0

누군가가 나에게 Haskell을 사용하여 기본 컴파일러를 작성하여 언어 순서를 적용 할 수있는 작은 예제를 제공 할 수 있습니까?하스켈, 컴파일러, 토큰 순서 적용?

예를 들어 "테이블 램프"가 유효한 문자열이지만 "침대 램프 테이블"이 아닌 프로그래밍 언어를 작성하려면 어떻게해야합니까?

누군가가 올바른 방향으로 나를 가리킬 수 있다면, 나는 이것을 더 많이 추론하고 이해할 수있을 것이라고 생각합니다.

감사

+3

이 질문은 계몽 간단한 대답을하기에는 너무 간단합니다. 여기 당신이 묻는 것을 정확히 수행하는 지루한 함수가 있습니다 :'isValid s = s == "테이블 침대 램프"'. –

답변

3

당신이 parsers에 대해 능숙를 확인해야합니다. 이것은 텍스트를 분석하고 텍스트를 작성하는 프로그램의 일부입니다. 위키 백과 항목 : 하스켈

http://en.wikipedia.org/wiki/Parsing

, Parsec는 파서를 작성하기위한 강력한 라이브러리 인의 명성을 (. 내가 그것을 사용한 적이) 당신은 된 것 같다

http://www.haskell.org/haskellwiki/Parsec

2

있다 지난 며칠 동안 컴파일러에 관한 아주 기본적인 질문을 많이했습니다. 계속 진행하기 전에 먼저 컴파일러에서 교과서를 집어 들고 약간의 접지를 얻는 것이 좋지 않습니까? 컴파일러를 작성하는 언어로 하스켈을 사용하려는 경우, Appel의 "Modern compiler construction in ML"이 좋은 출발점이 될 것입니다.

+0

나는 컴파일러를 작성하는 법을 알고있다 ..... 하스켈에서 컴파일러를 작성하는 법을 모르겠다. ... – user997112

+0

또한, 누군가 내 기본적인 질문에 대한 답을 제게 제공했다면, 외삽 법. 모든 계산기 데이터를 포함하고있는 모든 haskel 자료 .... – user997112