문맥 자유 문법을 배우고 있는데 C 나 C++ 같은 프로그래밍 언어에서 표현, 요소 및 용어를 식별하는 방법을 이해하지 못합니다.신원 표현, 요소 및 용어?
id : = E 여기서 E는 임의의 산술 식입니다.
용어 란 무엇입니까? 표현이란 무엇입니까? 실제 코드에서 어떤 요소가 있습니까?
우리는
int i = 3, j = 14
int i = 3 + j * 14;
매우 감사 할 수 있습니다.
문맥 자유 문법을 배우고 있는데 C 나 C++ 같은 프로그래밍 언어에서 표현, 요소 및 용어를 식별하는 방법을 이해하지 못합니다.신원 표현, 요소 및 용어?
id : = E 여기서 E는 임의의 산술 식입니다.
용어 란 무엇입니까? 표현이란 무엇입니까? 실제 코드에서 어떤 요소가 있습니까?
우리는
int i = 3, j = 14
int i = 3 + j * 14;
매우 감사 할 수 있습니다.
"요인", "용어"및 "표현"개념은 수학에서 비롯된 것이므로 프로그래밍 언어와 관련이 없습니다.
요인 당신은 다중 것들을 다음과 같습니다
1*2*(3+4)
약관 추가 것들 :
1 + 2 + (3*4)
그리고 표현 전체 결과 문맥 - 자유 언어 구문 분석에서
1 + 3 * 7
위한 것입니다 이러한 구분을 사용하여 운영자 간의 우선 순위를 구성합니다. 따라서 표현식은 용어의 합으로 이루어지며 용어는 요인의 곱으로 만들어지며 요소는 숫자 또는 괄호 안에있는 부분 표현식 중 하나입니다.
"문장"을이 방법으로 정의 해 주실 수 있습니까? (예제를 추가하시면 감사하겠습니다) –
숙제는 또한 아마의 라인을 따라 문법 C 또는 C와 같은 프로그래밍 언어 A ((A)의 일부)에 대한 사양 ++, 뭔가가 있습니다
프로그램 -> 표현 | 정의 | 선언
Expression-> 식 + 용어
Expression-> 식 - 용어
Expression-> 식 * 인자
... ... ...
등 등
그런 다음 3 + j * 14는 표현식이며 3은 용어입니다 (+로 연결된 항목은 위의 문법에 따라 표현식이나 용어 중 하나입니다). j 및 14는 인수입니다. 위의 문법은 다음과 같습니다. 실제 프로그래밍 언어의 문법이 어떻게 생겼는지에 대한 매우 조잡한 모방.
좋아, 그래서 우리는이 같은 문법이 있다고 가정
프로그램 -> (정의 | 람다)
정의 -> 정의 정의
정의 -> "INT"정의 ";" | "int"정의, 정의 ";"
정의 -> 이름 "="표현
Expression-> 기간 "+"표현
Expression-> 표현 "-"기간
Expression-> 표현 "*"팩터
기간 -> "3" | "14"
팩터 -> "3"| "14"
표현 -> "3"| 내 터미널 기호 따옴표에 내가 이름은 다음과 같이 정의 된 부분을 생략 "14"
주 글자와 숫자의 조합 및 글자 또는 밑줄로 시작하는 밑줄 :)
예 :
줄 1 int i = 3, j = 14;
라인 2 int i = 3 + j * 14;
i 및 j는 이름입니다. 3, 14 (1 행) 및 3 + j * 14 (2 행)은 표현식입니다. 그러면 2 행에서 3은 용어이고 j * 14는 표현식이고 j는 Factor이고 14는 Factor입니다.
@AlexK 맞습니다. 하지만 실제 코드에서 표현식, 요소 및 용어가 무엇인지 확인하고 싶습니다. 그래도 감사합니다. – CppLearner