3장 (2) 구문과 의미론 2016. 3. 30 순천향대학교 컴퓨터공학과 하상호.

Slides:



Advertisements
Similar presentations
National University 1 / 24 컴퓨터 개론 및 실습 강의 11 (parser)
Advertisements

10장. 시기별 학급경영 11조 염지수 이 슬 권용민 신해식.
일본 근세사. (1) 에도막부의 개창 ( ㄱ ) 세키가하라의 전투 (1600) - 히데요시의 사후 다섯 명의 다이로 ( 大老 ) 가운데 최대 영지 (250 만석 ) 를 보유하고 있던 도쿠가와 이에야스가 급부상. 이에 이에야스와 반목해 온 이시다 미쓰나리 ( 石田三成 ),
아니마 / 아니무스 송문주 조아라. 아니마 아니마란 ? 남성의 마음속에 있는 여성적 심리 경향이 인격화 한 것. 막연한 느낌이나 기분, 예견적인 육감, 비합리적인 것에 대 한 감수성, 개인적인 사랑의 능력, 자연에 대한 감정, 그리.
대구가톨릭대학교 체육교육과 06 학번 영안중학교 체육교사 신웅섭 반갑습니다. 반야월초등학교 축구부 대륜중학교 축구부 대륜고등학교 대구가톨릭대학교 차석 입학 대구가톨릭대학교 수석 졸업 2014 년 경북중등임용 체육 차석 합격 영안중학교 체육교사 근무 소개.
일장 - 1 일 24 시간 중의 명기 ( 낮 ) 의 길이 ( 밤은 암기, 낮은 명기 ) 광주기성 - 하루 중 낮의 길이의 장단에 따라 식물의 꽃눈 형성이 달라지는 현상 일장이 식물의 개화현상을 조절하는 중요한 요인 단일식물 - 단일조건에서 개화가 촉진되는 식물 장일식물.
제 5 장 구문 정의  프로그래밍 언어의 기본 문자 집합  Alphabet 문자 (A-Z) 26 개 + 아라비아 숫자 (0 - 9) 10 개  예 ) Fortran : 기본 문자 집합 + 13 개의 특수문자 (=+ - * / ( ),. $ ‘ : 공백 ) Algol60.
2 학년 6 반 1 조 고은수 구성현 권오제 김강서.  해당 언어에 본디부터 있던 말이나 그것에 기초하여 새로 만들어진 말  어떤 고장 고유의 독특한 말  Ex) 아버지, 어머니, 하늘, 땅.
권 영 수 LG Display㈜ 대표이사 사 장 아 래 경상북도 구미시 진평동 642번지
프로젝트 학습 중간 보고서 군포초등학교부설 지역공동 영재학급 용호초등학교5학년 이창민.
2014년도 교원 및 기간제교사 성과상여금 전달교육 개 회 국기에 대한 경례 - 인사말
컴파일러 입문 제 7 장 LL 구문 분석.
선진 고양교육 “유아교육 행정 업무 연수” 유치원 회계실무 및 유아학비 연수 경기도고양교육청.
컴파일러 입문 제 5 장 Context-Free 문법.
묵자 겸애, 비명, 비공, 상현, 상동, 천지, 명귀, 삼표 법.
3주 강의 Lexical Elements, Operators, and the C System
내 아이를 위한 구강관리.
제16장 원무통계 • 분석 ☞ 통계란 특정의 사실을 일정한 기준에 의하여 숫자로 표시한 것을 말한다.통계로서 활용할 수 있는 조건으로는 ① 동질성을 지녀야 하고 ② 기준이 명확하고 ③ 계속성이 지속되어야 하며 ④ 숫자로 표시하여야 한다 경영실적의.
서울지방세무사회 부가세 교육 사진클릭-자료 다운 세무사 김재우.
사외내방객 사이트매뉴얼.
치매의 예방 김 은민 윤금 노인요양원 치매의.
제2장 구문(Syntax) Reading Chap 4 © 숙대 창병모.
4장 구문(Syntax).
Chapter 7. 조건문.
3장 구문과 의미론 순천향대학교 컴퓨터공학과 하상호.
보고서 #7 (기한: 6/2) 2개의 스택, stk1, stk2를 이용하여 큐를 구현하라.
Chapter 4 – 프로그래밍 언어의 구문과 구현 기법
프로그래밍언어론 2nd edition Tucker and Noonan
3장. 변수와 연산자. 3장. 변수와 연산자 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, / 3-1 연산자, 덧셈 연산자 연산자란 무엇인가? 연산을 요구할 때 사용되는 기호 ex : +, -, *, /
4장 어휘 / 구문 분석 (Term project 포함)
3장 (2) 구문과 의미론 순천향대학교 컴퓨터공학과 하상호.
디지털시스템설계 과목 담당교수 : 원 충 상 한국교통대학교 컴퓨터공학과
제3장 스택과 큐.
자료구조: CHAP 4 리스트 (3) 순천향대학교 컴퓨터공학과 하 상 호.
반도체 신입 Operator 채용 안내 ㈜ 하이닉스반도체에서는 2011년도 신입 Operator 사원을 모집합니다.
마산에 대하여 만든이 : 2204 김신우, 2202 권성헌.
1.고객맞이 상황 응대자세 화법 중점사항 매장 밖 에 서 도보 고객 고객 방향 쪽으로 바른 자세를 취한다
제주닷컴 매뉴얼 (실시간 예약시스템) 2013년 10월.
1.4 중첩된 한정기호 (Nested Quantifiers) 이산수학 (Discrete Mathematics)
JA A V W. 03.
5. Context-free 문법 5-1. 서 론 5-2. 유도와 유도 트리 5-3. CFG표기법.
컴퓨터 개론 및 실습 Dept. Computer Eng. Hankuk University of Foreign Studies
자료구조: CHAP 7 트리 –review 순천향대학교 컴퓨터공학과 하 상 호.
과학 탐구 토론 대회 1학년 2반 박승원 1학년 5반 권민성.
3장. 변수와 연산자 교안 : 전자정보통신 홈페이지 / 커뮤니티/ 학술세미나
Term Projects 다음에 주어진 2개중에서 한 개를 선택하여 문제를 해결하시오. 기한: 중간 보고서: 5/30 (5)
프로그래밍 언어론 - 소개 순천향대학교 컴퓨터공학과 하 상 호.
연산자 (Operator).
프로그래밍언어론 2nd edition Tucker and Noonan
3.2 학교수학의 목표 수 학 과 신 원 경.
합집합과 교집합이란 무엇인가? 01 합집합 두 집합 A, B에 대하여 A에 속하거나 B에 속하는 모든 원소로 이루어진 집합을 A와 B의 합집합이라고 하며, 기호 A∪B로 나타낸다. A∪B ={x | x∈A 또는 x∈B}
연습문제 숙제1(2~6장): 중간고사때 제출 9th edition: 2장: 23, 45, 47, 65, 97.
2. Boole 대수와 논리 게이트.
컴퓨터 프로그래밍 기초 [01] Visual Studio 설치 및 사용방법
8장. 조건에 따른 흐름의 분기. 8장. 조건에 따른 흐름의 분기 8-1 흐름의 분기가 필요한 이유 상황에 따른 프로그램의 유연성 부여 그림 8-1.
Chapter 06 연산자 기본.
6장 마케팅 조사 박소현, 김중호, 박기찬.
한밭대학교 창업경영대학원 회계정보학과 장 광 식
4장. 데이터 표현 방식의 이해. 4장. 데이터 표현 방식의 이해 4-1 컴퓨터의 데이터 표현 진법에 대한 이해 n 진수 표현 방식 : n개의 문자를 이용해서 데이터를 표현 그림 4-1.
보고서 #2(제출기한: 09/23) 다음 문제를 해결하시오. (7)
음양오행과 물리학 조 원 : 김용훈, 양범길, 박수진, 윤진희, 이경남, 박미옥, 박지선 (11조)
Chapter 10 데이터 검색1.
천국 가는 길 천국 가는 길 ♧ 천국 가는 길 ♧ 1. 죄와 사망(지옥) 1) 사람의 3가지 공통점 - 죄인, 죽음, 심판
이야기 치료에 대하여 <8조 학문적 글쓰기 발표> 주희록 최은지
8장 선택 논리 II 1. 논리연산자 1.1 논리연산자 : AND (&&) 1.2 논리연산자 : OR (||)
수치해석 ch3 환경공학과 김지숙.
연습문제 숙제2(7~10장): 기말고사때 제출 9th edition:
제 3장 연 산 자 연 산 자 의 종 류 연 산 자 우 선 순 위 형 변 환.
PHP 기초문법 PHP를 공부하는데 있어 가장 기초가 되는 PHP기초문법에 대해서 배워 봅니다.
중국문학개론 한부와 겅건안문학 중어중국학과 ㅇ이진원 한부와 건안문학.
Presentation transcript:

3장 (2) 구문과 의미론 2016. 3. 30 순천향대학교 컴퓨터공학과 하상호

목차 구문 BNF 표기법 문법과 유도 파스 트리 모호성 연산자 우선순위 확장된 BNF

연산자 우선순위 다음 문법에서 연산자 우선순위는? <expr>  <expr> <op> <expr> | const <op>  / | - <expr>  <expr> - <term> | <term> <term>  <term> / const| const

연산자 우선순위 문법 상에 연산자 우선순위를 부여 파스 트리의 낮은 위치의 연산자가 높은 위치의 연산자보다 높은 우선순위를 갖는다. 이와 같이 파스 트리상에 연산자 우선순위가 표현되게 하는 문법을 작성하여 모호성을 제거할 수 있다.

예제 다음 문법 G는 모호한가? “A = B + C * A”의 문장을 생각하라. 문법 G3 <assign>  <id> = <expr> <id>  A | B |C <expr>  <expr> + <expr> | <expr> * <expr> | (<expr>) | <id>

연산자 우선순위 다음 문법에서 연산자의 우선순위는?: =, +, *, () <assign>  <id> = <expr> <id>  A | B |C <expr>  <expr> + <expr> | <expr> * <expr> | (<expr>) | <id>

예제: 연산자 우선순위 다음에서 연산 우선순위가 다음과 같이 되게 문법을 수정하라: ‘=‘ < ‘+’ < ‘*’ < () Hint: 새로운 논터미널을 도입하라. <assign>  <id> = <expr> <id>  A | B |C <expr>  <expr> + <expr> | <expr> * <expr> | (<expr>) | <id>

예제: 연산자 우선순위 다음 문법은 모호한가? “A = A + B*C”, “A = A*B+C”에 대한 파스 트리를 그려라, <assign>  <id> = <expr> <id>  A | B |C <expr>  <expr> + <term> | <term> <term>  <term> * <fact> | <fact> <fact>  (<expr>)| <id>

연산자 결합규칙 다음 문법은 모호한가? 연산자 결합규칙도 문법상에 표현할 수 있다. <expr> -> <expr> + <expr> | const <expr> -> <expr> + const | const 연산자 결합규칙도 문법상에 표현할 수 있다.

연산자 결합규칙 규칙에서 LHS가 RHS의 처음에 오면, 그 규칙은 좌 순환적(left recursive)이라 한다. 규칙에서 LHS가 RHS의 맨 끝에 오면, 그 규칙은 우 순환적(right recursive)이라 한다. 좌 순환 규칙은 좌결합 법칙을 명세하고, 우 순환 규칙은 우결합 법칙을 명세한다. Ex. 다음 문법에서 각 연산자의 결합규칙은? <assign>  <id> = <expr> <id>  A | B |C <expr>  <expr> + <term> | <term> <term>  <term> * <fact> | <fact> <factor>  <exp> ** <factor> | <exp> <exp>  (<expr>)| <id>

If-then-else 문법 다음 문법은 모호한가? <stmt> -> <if-stmt> | … <if-stmt> -> if <logic_expr> then <stmt> | if <logic_expr> then <stmt> else <stmt> * 다음 문장을 고려하라: if <logic_expr> then if <logic_expr> then <stmt> else<stmt>

문제 다음 문법에 대해서 답하라. 연산자 우선순위는? 연산자 결합법칙은? 우선순위가 +, *보다 높은 단항 연산자 –를 추가하라. <assign>  <id> = <expr> <id>  A | B |C <expr>  <expr> + <term> | <term> <term>  <term> * <fact> | <fact> <fact>  (<expr>)| <id>

확장 BNF(EBNF)  

예제: EBNF 다음 BNF를 EBNF로 나타내라. <expr>  <expr> + <term> | <expr> - <term> | <term> <term>  <term> * <factor> | <term> / <factor> | <factor>

예제: EBNF 다음 BNF를 EBNF로 표현하라. <assign>  <id> = <expr> <id>  A | B |C <expr>  <expr> + <term> | <expr> - <term> | <term> <term>  <term> * <factor> | <term> / <factor> | <factor> <factor>  <exp> ** <factor> | <exp> <exp>  (<expr>) | <id>

BNF, EBNF의 최근 변경사항 구분 최근 변경사항 => : 선택사항 표현 [] 아랫첨자 opt 사용 Ex. proc  name(parameterListopt) 다중선택표현 () “one of” 사용 Ex. Operator  one of + * - / < > 수직바 ‘|’ 각 RHS를 단순히 별도의 줄에 표현 Example: in C statement: for( expr-1opt ; expr-2opt; expr-3opt) statement if (expression) statement while (expression) statement …

Test 문제#1 다음에서 L(G)에 속하는 것은? bbaabb bbaba bbaaaabb Abaabb G: <S>  <A> a <B> b <A>  <A> b | b <B>  a<B> | a

Test 문제#1 L(G) = ? Note: Given G = (∑, N, T, S, P), <S>  <A> a <B> b <A>  <A> b | b <B>  a<B> | a Note: Given G = (∑, N, T, S, P), L(G) = {s | S =>* s} where s ∈ ∑*

퀴즈#3 예고(4/4) 범위: 3장

보고서 #4 (제출 일시: 4/15) 3장 연습문제 2: C의 switch 문에 대한 BNF와 EBNF를 각각 작성하라. 7: d) 8 9 13