나는 컴파일러 디자인과 관련된 프로젝트를 진행하고 있습니다. Java 기반 언어에 대한 세 가지 주소 코드를 생성해야하며 이는 객체와 범위의 사용을 의미합니다. 당신은 내가 다음과 같은 예를 들어 TAC를 생성하는 데 도움이 (또는 자습서에 저를 참조) 할 수 있다면 내가 좋아하는 것 : class A {
int x;
String y;
계산기 언어 용 LL (1) 하향식 파서를 구현하려고했습니다. 그것은 단지 합계, 빼기, 나누기 및 곱하기 수 있습니다. 괄호가 없습니다. 이 문법은 LL (1) 파서에 적합하지 않습니다으로 S -> A
A -> B + A
| B - A
| B
B -> int * B
| int/B
| int
, 나는 그것을 아
: A가 시작 비단, FOLLOW에 EOF를 넣어 (A) 은 오른쪽 측면에로 작품을 찾기 경우 : 가 각 생산 X의 FOLLOW (A) EPSILON가 FIRST (β)에있는 경우 다음 FOLLOW에 FOLLOW (X)를 넣어 (A) 에서 {EPSILON} - 각 생산 X → αAβ를 들어, FIRST (β)를 넣어 → αA, 추후 (X)를 추후 (A)에
내 수업에서 두 번째 주에 간단한 컴파일러를 만들려고 노력 중이며 다음과 같은 점에 완전히 걸림돌이되고있다. 플렉스와 들소 파일은 공간) : ..snip..
end {return(END);}
skip {return(SKIP);}
in {return(IN);}
integer {return(INTEGER);}
let {return(LET);
SQL 쿼리 파서를 만들 계획입니다. 적절한 토큰 화와 순서 확인만으로 수행 할 수 있습니다. 그러나 나는 내가 포함 할 쿼리 문법을 정의 할 수 있습니다 내가 (전에 만 년) 내 컴파일러 디자인 과정에서 배운 무언가에서 그것을 할 계획입니다,하지만 난 초기에 약간의 도움이 필요합니다 지침, 어떤 파서를 구현할 것인가? Top-Down/Bottom-up 등
저는 컴파일러 디자인 과정을 위해 컴파일러를 작성하고 있으며 현재 구문 분석에서 구문 분석기를 작성해야합니다. 소스 텍스트에 나타날 수있는 오류를 처리하려면 FIRST 및 FOLLOW 세트가 있어야합니다. 내 문법의 모든 비 터미널에 대해 FIRST 및 FOLLOW 세트를 미리 계산했지만 프로그램 내에서 실제로 인코딩해야하는 위치를 결정하는 데 문제가 있습