2014-01-18 5 views
1

의사 코드를 C 언어로 번역하려고합니다. 어떤 단계의 컴파일러가 필요합니까? 어휘, 구문, 시맨틱, 중간 코드 또는 기계 코드가 필요합니다. 위의 단계에서 flex, bison을 시도했습니다. 맞습니까?자동 의사 코드를 C 언어 변환기

+1

'받아, 그 구성 컴파일러를 설계해야 의사 코드를 컴파일러로 만들 수 있도록 "의사"코드를 정의 했으므로 더 이상 의사 코드를 처리하지 않고 다른 프로그래밍 언어 만 처리합니다. 그래서 당신의 질문은 기본적으로 "컴파일러를 작성하는 법"입니다.이 컴파일러는 이미 100 번 질문을 받았습니다. – delnan

+0

that.my 입력이 의사 코드 (알고리즘)가 아니므로이 코드를 C 언어로 변환하고 싶습니다. 내 출력이 해당 의사 코드에 해당하는 C 언어입니다. –

+0

@TintuJames : Delnan이 무엇을 말했는지 이해하지 못했습니다. 당신이 그것을 이해할 때까지, 당신은 진전을 이루지 못할 것입니다. 그리고 네, 당신이 묘사 한 모든 메커니즘을 필요로 할 것입니다. http://stackoverflow.com/questions/3455456/what-kinds-of-patterns-could-i-force-on-the-code-to-make-it-easier-to-translat/3460977#3460977 –

답변

0

네, 질문에 대한 답변을 따르십시오. 기본적으로 '새로운'언어 용 컴파일러를 설계하고 싶습니다.

새로운 언어는 자신의 문법 (당신이 언급 한 알고리즘)의 것이다 그래서 당신은 단지 algorithim 출력 유효 C 코드를 사용하면 한 번

+0

my 의심의 여지가 어떻게 내가 기계어에서 C 언어로 변환 할 수 있으며 모든 자동화 된 도구입니다 –

+0

당신의 상상의 언어로 받아 마술처럼 C를 생성 할 수있는 "자동화 된 도구"가 없습니다 당신이 할 수있는 최선의 것은 * 그 언어는 형식적인 표기법을 사용하여 그러한 정의를 컴파일러로 변환 할 수있는 엔진에 전달합니다. 사람들은 이것을 시도하기 위해 박사 학위 논문으로 연구 도구를 구축했습니다. 이 시점에서 그들 중 누구도 실용적이지 않습니다. 자동 컴파일러 생성기로 지정/구현하는 방법을 모르는 코드를 "대체"하기 위해서는 언어별로 상당한 양의 기계를 구축해야합니다. * 좋은 컴파일러 책을 읽어야합니다. * –

+0

@TinuJames : ... 잠깐 ... 질문에 "psuedocode"라고 말하면서 이제는 "기계어에서"라고 말합니다. 기계어는 가짜 코드가 아닙니다. 그것은 * 각 기계에 대한 공식적인 langauge *입니다. 다르게 말한 바는 없다. 그러나 당신이 당신의 실제 문제에 대해 명확하지 않다는 것이 분명합니다. –