디시인사이드 갤러리

갤러리 이슈박스, 최근방문 갤러리

갤러리 본문 영역

C언어 BNF 문법에서 expression 부분

[성대아싸]갤로그로 이동합니다. 2012.02.09 22:07:13
조회 378 추천 0 댓글 1



BNF 문법은 언어 문법을 정의할때 쓰여요



첫번째  형광칠 부분이 

C 문법에서 expression 계열인 놈을 나타내는 가장 높은 위치에 있는 새끼에요


트리라고 생각하시믄 되요, 트리에서 가장 대가리(루트)에 있는 놈이죠


저놈은 중간에  

',' (쉼표) 토큰이 있으면 

expression 끼리 나열이 되는걸로 인식(파싱) 해요

없으면 걍 통과하는거에요

수식 , 수식 , 수식 , 수식 ....

즉 C언어 예를 들면


int var = 5;

5 , var , 0; // 수식들이 쉼표토큰에 의해 나열된다. 그리고 전체가 하나의 수식


근데 수식은 반드시 값을 가져요 ( eager evaluation 이든 lazy evaluation 이든간에)

그러면 수식을 나열해놨는데 

나열한 것들이 하나의 expression(수식)으로 묶여서 값을 가져야 되요


그러면 어떤 값이 선택이 되냐면 

뭐 맨 마지막에 나열된 수식이되겠죠


그리고 conditional-expression 부분에도 형광칠을 해놨어요

거긴 삼항연산자에요 (대개 ternary-expr 이라고 표현하는데...)


그건 중간에 "?" 토큰과  ":" 토큰이 존재하면 삼항연산자로 파싱이 되고요

없으면 그냥 통과에요

그 사이에는 expression 과  뒷부분에는 또 conditional-expression 이 오네요

즉 삼항연산자는 연달아서 쓸수 있어요


그리고 삼항연산자는 expression 이에요



if문하고 비슷하게 동작을 하긴하는데 , 상당히 많이 달라요

if-statement 는 값을 가지는게 아니라 , 프로그램 구조상 분기를 나타내는것이고

삼항 연산자는 두개의 수식중 , 조건에 따라 하나의 수식을 취하는거에요

삼항연산자도 수식이기 때문에 대입하는게 가능해요

예를 들면

int ret = 1>0? -1 : 0;


쉽게 생각하믄 

삼항연산자는 값을 가지는 놈이고 if문은 값을 가지는 놈이 아니다.






3줄 요약


1. 수식이 , 이걸로 나열되면 (수식1, 수식2, 수식3, 수식4)  제일 마지막 수식 값인 '수식4' 값을 가진다.

2. 삼항연산자는 수식이다 (값을 가진다)

3. if문은 문장이다 (분기구조를 나타낸다)




추천 비추천

0

고정닉 0

0

원본 첨부파일 1

댓글 영역

전체 댓글 0
본문 보기

하단 갤러리 리스트 영역

왼쪽 컨텐츠 영역

갤러리 리스트 영역

갤러리 리스트
번호 제목 글쓴이 작성일 조회 추천
설문 뛰어난 운동 신경으로 남자와 싸워도 이길 것 같은 여자 스타는? 운영자 25/11/24 - -
이슈 [디시人터뷰] 충무로가 주목하는 신예, '세계의 주인' 서수빈 운영자 25/11/24 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
302732 API 할 줄 아는 사람! 질문 좀.. [2] 모험원자갤로그로 이동합니다. 12.02.11 73 0
302729 토익 십탱할 [3] [성대아싸]갤로그로 이동합니다. 12.02.11 147 0
302728 프로그래머를 포기하는 사람들은 플밍 업계가 암담해서 포기하는게 아님. [10] ㅇㅇ(121.133) 12.02.11 303 0
302727 토익 시부랄 [1] [성대아싸]갤로그로 이동합니다. 12.02.11 104 0
302726 수습기간 1년은 너무 길지? [6] 취업(112.153) 12.02.11 268 0
302725 안녕하세요? [1] ㅇㅇㅎ(110.47) 12.02.11 66 0
302724 형님들 카페질문점.. ㅠ [3] ㄴㅁㅇ(112.158) 12.02.11 60 0
302723 세상엔 참 미친놈들이 많은거 같다. ㅇㅇㅇ [2] ㅇㅇㅇ(121.144) 12.02.11 119 0
302722 이거 하려면 컴공을 가야할가 기계공학과를 가야할까 [2] 66(180.211) 12.02.11 133 0
302717 형들 11인치 맥으로 코딩할만해? [2] AFK(118.33) 12.02.11 346 0
302716 형들 학교 자퇴하고 나 학원 갈까해.. [2] 임재(221.155) 12.02.11 217 0
302715 조심해야겠다는 생각이 든다. [20] 바보플머(222.121) 12.02.11 257 0
302713 if(1<a<3) 이런건 왜 안되는걸까 [11] (218.152) 12.02.11 168 0
302712 세상이 미쳐가는 것은 아닐까? 이미 미쳐있는 것은 아닐까? [3] 바보플머(222.121) 12.02.11 93 0
302711 안드로이드에서 티스토어 링크걸때 (218.152) 12.02.11 51 0
302708 연봉에 목매달에서 개발자 됐남? [7] 이문동쮸쮸바갤로그로 이동합니다. 12.02.11 227 0
302707 DC에서 광고창 뭐가 보이냐? [1] 이문동쮸쮸바갤로그로 이동합니다. 12.02.11 61 0
302706 윈7쓰고 안되는건 정신차리고갤질해라갤로그로 이동합니다. 12.02.11 58 0
302705 디씨야 아프냐? [3] dot(114.202) 12.02.11 90 0
302700 우왕 이래서 사람들이 스마트폰을 사는군아 개심심(121.140) 12.02.11 74 1
302699 내일 토익셤 [3] [성대아싸]갤로그로 이동합니다. 12.02.11 90 0
302698 난 이딴식으로 세팅되어 있음. ㅇㅇ [5] ☎v2.0™갤로그로 이동합니다. 12.02.11 149 0
302696 형은 windows7을 정감가게 바꺼서 쓴다 [5] 개심심(121.140) 12.02.11 146 0
302694 adobe air 배워두면 쓸만할까요?? [8] ㅇㅇ(112.162) 12.02.11 139 0
302693 Windows 7은 정감이 안감. ㅇㅇ [6] ☎v2.0™갤로그로 이동합니다. 12.02.11 125 0
302692 횽들아 난 뉴빈데 x86 안드로이드 어떻게 생각해? [3] 난뉴비(211.221) 12.02.11 75 0
302691 대학원말야 [5] 고기호빵갤로그로 이동합니다. 12.02.10 151 0
302690 이번에 다이렉트x 시작하는 뉴비입니다. [5] 950개(61.75) 12.02.10 107 0
302689 야 시발 형 월요일날 사장하고 맞짱까러건다 [11] 개심심(121.140) 12.02.10 140 0
302688 프로그래밍 책 빨리 공부하는 방법 좀 알려줘~ [1] 에이시아(203.90) 12.02.10 102 0
302686 뭐 나도 PDM, PLM, ProC 회사 들어가서 그런게 있는 줄 알았음 [3] ☎v2.0™갤로그로 이동합니다. 12.02.10 98 0
302684 내 그림 솜씨 실력 어떰? [2] 캐디쟌닭(115.92) 12.02.10 111 0
302683 아싸 낼은 금욜이다 ~~ ㅎㅎ 그나저나 벌써 퇴근한 횽들 있음? [7] 캐노비닭(115.92) 12.02.10 103 0
302682 형들은 책보면 한시간에 몇페이지 나가??? [3] 에이시아(203.90) 12.02.10 135 0
302681 1~100까지 포문이 도는데 50보다 큰놈만 출력하는 1중포문 [5] System32갤로그로 이동합니다. 12.02.10 123 0
302679 흉들 낚아서 미안해...근데 뉴비횽들이 몇 없었나보네 ㅠㅠ [1] 캐초보닭(115.92) 12.02.10 69 0
302678 형들 이런거 어떻게 만들어? [2] 쒦뚫쉚뚫샒휆뚫뚫쒦갤로그로 이동합니다. 12.02.10 94 0
302677 ★[피자 쏩니다] 480판 선착순~ 오늘부로 주식시장을 떠나는 기념★ [1] 주통령(58.151) 12.02.10 93 0
302676 최대값 출력문제. 효율적인 코드좀 알려주세요 제봘 [1] ㅂㄱㄴㅎㄴㄷ갤로그로 이동합니다. 12.02.10 65 0
302675 이번에 jsp를 공부하면서 db를 어떻게할까..고민중인데 [9] 디비란..(218.235) 12.02.10 123 0
302674 난 삼항연산이 [5] Dawnwalkre갤로그로 이동합니다. 12.02.10 80 1
302673 횽들 if 문 이게 안됨 ㅠㅠㅠ 헬프점 ㅠㅠㅠㅠㅠ [6] 캐초보닭(115.92) 12.02.10 106 0
302672 난 오늘 g++ 이란거 첨 들어봤네 [1] 221.143(221.143) 12.02.10 121 0
302670 아! 내가 컴퓨터 쪽에 적성이 맞는구나! [4] ㅁㅁ(180.211) 12.02.10 129 0
302669 아 .. 진짜 나좀 이해시켜줄사람 급구함 진짜 대가리에 똥물찻음 [10] 코딩...?갤로그로 이동합니다. 12.02.10 97 0
302667 프갤횽들.. 자카테 씹유로도 비주얼스튜디오 2010 잘돌아가나염? tonald(218.146) 12.02.10 42 0
302664 프로그래밍에 있어 실무가 뭐야? [3] ㅈㅂ(175.195) 12.02.10 113 0
302663 안드로이드 마켓에 어플올려서 돈벌었음 ... [5] 장어구이(211.245) 12.02.10 249 0
302662 남미쪽이 정열적인가봐... [1] iljeomobolt갤로그로 이동합니다. 12.02.10 64 0
302660 시밤 지금은 지옥철에 있습니다 서현빠돌이갤로그로 이동합니다. 12.02.10 45 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2