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

Slides:



Advertisements
Similar presentations
열왕기 상하는 중요하다 ! 왜 ? 시가 3 권 예언서 12 원 열왕기 상하는 중요하다 ! 대라느스 단겔학슥말.
Advertisements

10장. 시기별 학급경영 11조 염지수 이 슬 권용민 신해식.
일본 근세사. (1) 에도막부의 개창 ( ㄱ ) 세키가하라의 전투 (1600) - 히데요시의 사후 다섯 명의 다이로 ( 大老 ) 가운데 최대 영지 (250 만석 ) 를 보유하고 있던 도쿠가와 이에야스가 급부상. 이에 이에야스와 반목해 온 이시다 미쓰나리 ( 石田三成 ),
아니마 / 아니무스 송문주 조아라. 아니마 아니마란 ? 남성의 마음속에 있는 여성적 심리 경향이 인격화 한 것. 막연한 느낌이나 기분, 예견적인 육감, 비합리적인 것에 대 한 감수성, 개인적인 사랑의 능력, 자연에 대한 감정, 그리.
대구가톨릭대학교 체육교육과 06 학번 영안중학교 체육교사 신웅섭 반갑습니다. 반야월초등학교 축구부 대륜중학교 축구부 대륜고등학교 대구가톨릭대학교 차석 입학 대구가톨릭대학교 수석 졸업 2014 년 경북중등임용 체육 차석 합격 영안중학교 체육교사 근무 소개.
 수학 10- 나  1 학년 2 학기  Ⅰ. 도형의 방정식 1. 평면좌표 (1/24) 두 점 사이의 거리 수업 계획 수업 활동.
일장 - 1 일 24 시간 중의 명기 ( 낮 ) 의 길이 ( 밤은 암기, 낮은 명기 ) 광주기성 - 하루 중 낮의 길이의 장단에 따라 식물의 꽃눈 형성이 달라지는 현상 일장이 식물의 개화현상을 조절하는 중요한 요인 단일식물 - 단일조건에서 개화가 촉진되는 식물 장일식물.
명륜종합사회복 지관. * 강사 : 소 찾는 아이 작가 이상희, 김매화 팀장 외 * 북아트란 : 논술교육의 중요성, 자유로운 사고, 창 의력, 논리력 * 준비물 : 색연필, 사인펜, 연필, 지우개, 딱풀, 가위.
2 학년 6 반 1 조 고은수 구성현 권오제 김강서.  해당 언어에 본디부터 있던 말이나 그것에 기초하여 새로 만들어진 말  어떤 고장 고유의 독특한 말  Ex) 아버지, 어머니, 하늘, 땅.
권 영 수 LG Display㈜ 대표이사 사 장 아 래 경상북도 구미시 진평동 642번지
지적기초측량 경일대학교/부동산지적학과.
(2) 고대 국가의 성립  1) 고대 국가의 성격    ① 중앙 집권 체제      - 국왕의 지위 강화, 부족장 세력의 통합,
프로젝트 학습 중간 보고서 군포초등학교부설 지역공동 영재학급 용호초등학교5학년 이창민.
2014년도 교원 및 기간제교사 성과상여금 전달교육 개 회 국기에 대한 경례 - 인사말
선진 고양교육 “유아교육 행정 업무 연수” 유치원 회계실무 및 유아학비 연수 경기도고양교육청.
컴파일러 입문 제 5 장 Context-Free 문법.
묵자 겸애, 비명, 비공, 상현, 상동, 천지, 명귀, 삼표 법.
2015 담당 강사 : 정세진 중국 명문 감상 2015 담당 강사 : 정세진
제 4 장 구문 분석.
내 아이를 위한 구강관리.
제16장 원무통계 • 분석 ☞ 통계란 특정의 사실을 일정한 기준에 의하여 숫자로 표시한 것을 말한다.통계로서 활용할 수 있는 조건으로는 ① 동질성을 지녀야 하고 ② 기준이 명확하고 ③ 계속성이 지속되어야 하며 ④ 숫자로 표시하여야 한다 경영실적의.
서울지방세무사회 부가세 교육 사진클릭-자료 다운 세무사 김재우.
산업안전일반 동영상 잘 보셨습니까. 좋은 날 기분 좋게 등산가서 이런 건 조심하라고 상기시켜주기 위해 보여드렸습니다.
사외내방객 사이트매뉴얼.
치매의 예방 김 은민 윤금 노인요양원 치매의.
제 7 장 문장 구조화 제어문 지정문 조건문 반복문 GOTO 문 비결정적문.
제 8 장  파서 생성기 YACC 사용하기.
4장 구문(Syntax).
3장 구문과 의미론 순천향대학교 컴퓨터공학과 하상호.
문법과 언어.
프로그래밍언어론 2nd edition Tucker and Noonan
4장 어휘 / 구문 분석 (Term project 포함)
Chapter 6 – 변수, 바인딩, 식 및 제어문 Outline 6.1 변수 6.2 바인딩 6.3 선언 6.4 배정문
장. 문법 구조(Syntax) 컴퓨터공학과 권기태 프로그래밍언어론.
인류의 분산 언어의 대 혼잡시기 창조,타락 홍수 바벨탑사건 아브라함 모세 BC 고조선 하/은/주 (창 11:7,9) 『[7] 자, 우리가.
에너지 운동량 방법: 일과 에너지법칙 1. 상자들이 초기속도 vo로 컨베이어 벨트로 운반되어 A에서 미끄러져서 B에서 떨어진다. μk= 0.40이고, 상자가 2.4m/s로 B점에서 떨어질 때 컨베이어 벨트의 속도를 구하라.
재귀 혹은 귀납 Recursive or Inductive Definition 집합을 정의하는 방법
학부모 설명회 학부모 설명회를 시작하겠습니다. 먼저, 설명회를 찾아주신 여러분께 감사의 말씀을 드립니다. 금일 강의를 하게 된 저는 우공비, 쎈이라는 교재를 만드는 좋은책신사고 본사 교육팀에서 근무하고 있는 이영호입니다. 강의는 총 1시간 정도 소요될 예정이며, 강의 종료.
도덕 1학년 1학기 2. 개성신장과 인격 도야:인물학습 석가모니 인물학습 -석가모니.
반도체 신입 Operator 채용 안내 ㈜ 하이닉스반도체에서는 2011년도 신입 Operator 사원을 모집합니다.
마산에 대하여 만든이 : 2204 김신우, 2202 권성헌.
1.고객맞이 상황 응대자세 화법 중점사항 매장 밖 에 서 도보 고객 고객 방향 쪽으로 바른 자세를 취한다
CHAP 7:트리 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
제주닷컴 매뉴얼 (실시간 예약시스템) 2013년 10월.
7. LL 구문 분석 7-1. 결정적 구문 분석 7-2. Recursive-descent 파서 7-3. Predictive 파서 7-4. Predictive 파싱 테이블의 구성 7-5. Strong LL(k) 문법과 LL(k)문법.
컴퓨터 개론 및 실습 Dept. Computer Eng. Hankuk University of Foreign Studies
CHAP 7:트리 C로 쉽게 풀어쓴 자료구조 생능출판사 2005.
[INA240] Data Structures and Practice
과학 탐구 토론 대회 1학년 2반 박승원 1학년 5반 권민성.
쿰란 쿰란 와디 항공촬영 .
프로그래밍언어론 2nd edition Tucker and Noonan
3.2 학교수학의 목표 수 학 과 신 원 경.
제 5장 변수, 바인딩, 식 및 제어문 5.1 변수 5.6 표현식 5.2 바인딩 5.7 조건문 5.3 선언 5.8 반복문
새로운 미래가 온다 다니엘 핑크 지음 / 김명철 옮김.
Chapter 06 연산자 기본.
6장 마케팅 조사 박소현, 김중호, 박기찬.
한밭대학교 창업경영대학원 회계정보학과 장 광 식
음양오행과 물리학 조 원 : 김용훈, 양범길, 박수진, 윤진희, 이경남, 박미옥, 박지선 (11조)
천국 가는 길 천국 가는 길 ♧ 천국 가는 길 ♧ 1. 죄와 사망(지옥) 1) 사람의 3가지 공통점 - 죄인, 죽음, 심판
이야기 치료에 대하여 <8조 학문적 글쓰기 발표> 주희록 최은지
LG화학 전국기능경기대회 입상자 모집 1. 모집부문 및 지원자격 2. 지원방법 3. 전형절차 4. 기타사항 모집직종 모집직무
Chapter 07 트리.
엔화 대환/대출 자금용도 대상 이자 차액 효과 (A,B,C) 환율 리스크 헷징 (A,B) 엔화의 평균환율 (A,B,C)
For regex_compile function in grep.c
3장 (2) 구문과 의미론 순천향대학교 컴퓨터공학과 하상호.
이용기관 안내 자료 目 次 전자금융거래법 시행에 따른 전자금융법의 개요 이용기관 준비사항 담당자 안내
토론의 기술 3 쟁점분석과 입론.
2012년 9월 16일 바벨탑 사건과 셈의 후손들의 족보 ▣말씀:창세기 11:1-32 예 수 복 된 교 회.
PHP 기초문법 PHP를 공부하는데 있어 가장 기초가 되는 PHP기초문법에 대해서 배워 봅니다.
중국문학개론 한부와 겅건안문학 중어중국학과 ㅇ이진원 한부와 건안문학.
Presentation transcript:

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

목차 구문 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>

If-then-else 문법 문법 수정 <stmt> -> <matched> | <unmatched> <matched> -> if <le> then <matched> else <matched> | <non_if_stmt> <unmatched> -> if <le> then <stmt> | if <le> then <matched> else <unmatched> else-있는 if문과 If가 아닌 모든 문장 else-없는 if문

문제 다음 문법에 대해서 답하라. 연산자 우선순위는? 연산자 결합법칙은? 우선순위가 +, *보다 높은 단항 연산자 –를 추가하라. <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 ∈ ∑*