내 석사 학위 논문의 일부로 집에서 개발 한 객체 지향 언어 용 컴파일러를 작성하고 있습니다. 현재 컴파일러는 가상 컴퓨터에서 실행되는 어셈블러를 출력합니다. 가상 머신은 스택 작업, 객체 생성, 힙 관리 및 가비지 수집과 같은 모든 작업을 처리합니다. 내 컴파일러의 대상 아키텍처는 MIPS 유사 CPU입니다. 나는 구현 에 객체 레이아웃과 아이디어를 개발
C를 기반으로 맞춤형 (소규모) 프로그래밍 언어 (구문)를 만들려고합니다. apple이 [testClass runThis : true]와 같은 연산자를 사용하여 objective-c를 구현 한 방법을 이해하지 못합니다. 그 문법으로 난 내 사용자 정의 C 언어에 대한 사용자 정의 구문을 구현하는 것이 어떻게 당신은 Clang합니다 (C, C++과 LLVM
대한 설명 나는 서로의 언어 (GWT 생각)보다는 대상 플랫폼으로 호스트 플랫폼에서에서 의미 컴파일 십자가를 언급합니다. 배경 내가 자바로 컴파일 교차 아랍어 프로그래밍 언어를 개발하고 이 나에게 플랫폼 관련 번거 로움을 저장. 이제는 이것을 잠시 보류하고 크로스 컴파일을 위해 C으로 다양한 이유로 전환했습니다. 컴파일 할 때 실행중인 시스템의 동일한 라이
현재 컴파일러 클래스를 사용하고 있으며 action/goto 테이블을 사용하여 LR (1) 구문 분석 알고리즘을 이해하고 이러한 테이블을 생성하는 방법을 이해하는 데 어려움을 겪고 있습니다. 지금 우리는 Cooper와 Torczon의 Engineering Compiler를 클래스 텍스트 책으로 사용하고 있으며 테이블 생성에 대한 위키피디아 페이지도 읽었지만
컴파일 단계에서 프로그래밍 언어의 키워드가 인식됩니까? 나는 종류의 혼란 어휘 분석 사이입니다. 프로그램의 구문 분석. 내가 한 번 정규 표현식을 사용하여 C에서 렉서를 썼다뿐만 아니라 키워드로 int main(void)에 main()을 인정했다. 이 줄에서는 키워드를 인식하기 위해 구문 분석 트리를 만들어야한다고 생각합니다.
C++ 프로그램을 작성 중입니다. 나는 char array array [20] [100] 배열을 가지고있다. 실제로 trans의 각 문자열은 문법의 전환입니다 (프로그래밍 언어 변환기). 나는 트랜스에서 각 문자열을 확인하고 싶습니다. 즉 문자열에 '.'문자가 있는지 확인하고 싶습니다. 대문자가 뒤 따른다. 아무도 그것을 할 방법을 말해 주시겠습니까 ??
컴파일러 디자인에서 SLR 구문 분석에 유효한 LR (0) 항목을 표시하려면 C++ 프로그램을 만들어야합니다. 지금까지 문법을 사용자 입력으로 받아서 닫을 수있었습니다. 그러나 나는 SLR에서 goto 구현을 더 진행할 수 없다. 아무도 문법의 유효한 LR (0) 항목을 표시하는 방법에 대한 링크 나 코드를 제게 제공 해줄 수 있습니까? - 미리 감사드립니
(다음 질문은 OCaml 언어에 관한 것이지만 OCaml에 예제가 있습니다. 그러나 질문은 매우 일반적이며 다른 컴퓨터 언어에 대한 정답도 내 문제를 해결할 것입니다. , 단지이 질문을 여러분이 선호하는 언어로 가정하십시오.) OCaml에서 임의의 프로그램을 문자열로 취해 프로그램이 올 바르고 틀린지를 결정하고, 후자의 경우 끝에 적절한 문자를 연결하여 올
C와 비슷한 언어 용 컴파일러를 작성하는 중입니다. 필자는 렉서와 파서로 다소 완성되었습니다. 지금은 의미 론적 분석을 시도하고 있으며 심볼 테이블을 만들려고합니다. 이제 사양에 따라 동일한 어휘 수준에서 중복 선언이 허용되지 않습니다. 이것은 각각의 어휘 레벨에 대해 다른 심볼 테이블을 구축해야합니다. 어떻게해야합니까? struct tree_el
{
사람은 알고리즘을 인라인 어떤 서류 토론 알고 있나요? 그리고 밀접하게 관련, 그래프를 호출 부모 - 자식 그래프의 관계. 배경 : 내가 적극적으로 주로이 결과와 (심지어 C 포함)가 많은 상황에서 대부분의 다른 사람보다 내 프로그래밍 언어에 대한 빠른 코드를 생성하는 다른 최적화로, 함수를 인라인 Ocaml로 작성된 컴파일러를 가지고있다. 문제 # 1 :