디시인사이드 갤러리

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

갤러리 본문 영역

C언어 BNF 문법에서 expression 부분

[성대아싸]갤로그로 이동합니다. 2012.02.09 22:07:13
조회 377 추천 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/17 - -
AD 대학생 필수템! What's in my Bag 운영자 25/11/21 - -
302632 편의점 아가씨 꼬시는법 실제. (퍼옴) [6] 바보플머(222.121) 12.02.10 318 0
302631 적성 안맞으면 이거 지짜 못할 짓이야?ㅠㅠㅠㅠㅠㅠ [4] 진영팍(221.155) 12.02.10 111 0
302629 후아~ 금요일인데 조금 바쁘네 서현빠돌이갤로그로 이동합니다. 12.02.10 33 0
302628 오랜만에 치킨시켜서 먹다가 문득 떠오른 생각인데... [2] 바보플머(222.121) 12.02.10 87 0
302627 윤아ㅁ은 봅니다 [1] 에어로홍갤로그로 이동합니다. 12.02.10 67 0
302626 프로그래밍 갤러리 어디갔져? 금고래갤로그로 이동합니다. 12.02.10 33 0
302625 밑에 mssql 상세 설명 [8] b박갤로그로 이동합니다. 12.02.10 191 0
302624 나도 회사 아가씨가 너무 마음에 든다 ㅋㅋㅋ [4] 금딸마라토너갤로그로 이동합니다. 12.02.10 132 0
302623 mssql2008 express 이건 무슨 경우냐? [8] b박갤로그로 이동합니다. 12.02.10 55 0
302618 마음을 가라앉히고 [2] 컴병신(221.153) 12.02.10 40 0
302617 현직 서버 개발자의 반성문&목표 [15] aaa(211.232) 12.02.10 209 0
302616 결론임 [2] 컴병신(221.153) 12.02.10 42 0
302615 유니코드 변환문제인데 좀 도와줘 [5] laoshanlong갤로그로 이동합니다. 12.02.10 72 0
302614 여기 접속 안 되는사람있나? [1] iljeomobolt갤로그로 이동합니다. 12.02.10 35 0
302613 아 컴퓨터 부셔버리고싶다 [17] 컴병신(221.153) 12.02.10 146 0
302612 아 ㅠㅠ 미친 어떻게 처음부터 막히냐 [2] 컴병신(221.153) 12.02.10 59 0
302611 리눅스 프로그래밍에서 파일 상태 플래그들을 변경할 때... [2] 에이시아(203.90) 12.02.10 52 0
302610 성님들 지금 열혈강의 보고 막 시작한 죶초보인데요... [4] 컴병신(221.153) 12.02.10 94 0
302606 학벌만 믿고 너무 자만하지 마세여 [10] ㅁㄴ(220.67) 12.02.10 290 0
302604 남자라면 무술과 악기 하나쯤은 다루어야 한다. [3] 서현빠돌이갤로그로 이동합니다. 12.02.10 94 0
302603 이쪽 계열이 어려운 이유가 [1] 66(180.211) 12.02.10 72 0
302600 벌레가 미스테리 [1] 윤아 +ㅁ+갤로그로 이동합니다. 12.02.10 51 0
302597 개발 쪽으로 경력을 쌓고 싶다면 S/W관리병과 정보보호기술병 중 어느게 [5] ㅁㄴ(220.67) 12.02.10 210 0
302596 다른곳은 다 접속 잘 되는데... 왜 국세청 관련 싸이트는 접속이 안될까 iljeomobolt갤로그로 이동합니다. 12.02.10 184 0
302594 ㅋㅋㅋㅋ 나를 조낸 따라하는구나 ㅋㅋㅋㅋ 윤아 +ㅁ+갤로그로 이동합니다. 12.02.10 56 0
302593 터치스크린으로 미연시 만들면 진짜 대박날거 같다. [5] 광란의디씨질갤로그로 이동합니다. 12.02.10 97 0
302592 sm엔터테이먼트에서 사람 모집 안하나?? [1] 윤아 +ㅁ+갤로그로 이동합니다. 12.02.10 120 0
302591 헤드퍼스트 jsp로 공부 해본 게이 있음?? [3] 윤아 +ㅁ+갤로그로 이동합니다. 12.02.10 261 0
302590 내 팬이 아뒤를 비슷하게 사칭해서 아뒤 바꿈 윤아 +ㅁ+갤로그로 이동합니다. 12.02.10 51 0
302586 프로그래밍 중에서 뭐가 젤 재미있는거 같어?? [4] 거칠게갤로그로 이동합니다. 12.02.10 135 0
302585 태연겔에서 성지 순례 왔습니다. 거칠게갤로그로 이동합니다. 12.02.10 67 0
302583 윈폼 IIS MS-sql 의 삼위 일체 C#을 쓰자!!! [3] 거칠게갤로그로 이동합니다. 12.02.10 267 0
302582 겜은 8비트 시절에 문자로 된 자동차 게임(?)외에는 만들어본적 없는데. [5] ☎v2.0™갤로그로 이동합니다. 12.02.10 87 0
302580 은꼴 [1] iljeomobolt갤로그로 이동합니다. 12.02.10 115 0
302579 VB2010 vs C# [2] ☎v2.0™갤로그로 이동합니다. 12.02.10 68 0
302578 마이플랫폼... [12] 쿄스케갤로그로 이동합니다. 12.02.10 87 0
302577 헉 트로이 목마가 2개나 잡힌다 [5] 거칠게갤로그로 이동합니다. 12.02.10 96 0
302575 야이 쇼키들아~!!! 밥은 처먹고 일하는거냐???? 거칠게갤로그로 이동합니다. 12.02.10 50 0
302574 식사들 하셨습니까? 요즘은 visual basic 하고 있어요.. [1] iljeomobolt갤로그로 이동합니다. 12.02.10 61 0
302570 진짜 GR들을 한다... 찌질 2마리야 (116.125) 12.02.10 45 0
302567 액션스크립트 3.0 배우려는데(조공) [1] ㅇㅇ(112.162) 12.02.10 115 0
302561 야 시펄 나 회사 그만 둘까보다 [3] 개심심(59.6) 12.02.10 80 0
302560 형님들!!!!! 컴공 편입했는데 한번만 봐주세요 !!!!! [4] ssdrm(1.235) 12.02.10 113 0
302558 컴공가면 복수전공 힘들다는게 참진트루? [2] ㅄㅌㄹ(211.48) 12.02.10 190 0
302556 내일은 대학원 OT 룰루~ [1] 씨발라드세요갤로그로 이동합니다. 12.02.10 73 0
302554 사실 컴퓨터나 물리 수학이 어려운 게 ㅇㅇ(220.87) 12.02.10 59 0
302553 아싸 배당 나온다~ [1] 외계달팽갤로그로 이동합니다. 12.02.10 44 0
302552 비주얼베이직2010으로 프로그램좀 만들고싶은데 [2] 주소록(118.35) 12.02.10 112 0
302550 만약, 당구 게임을 만들어야 한다면..필요한 능력이..? [4] 캐게임닭(115.92) 12.02.10 140 0
302546 180 정도 되면 구두에 깔창 하면 190인데 [1] b박갤로그로 이동합니다. 12.02.10 48 0
갤러리 내부 검색
제목+내용게시물 정렬 옵션

오른쪽 컨텐츠 영역

실시간 베스트

1/8

디시미디어

디시이슈

1/2