PowerPoint 프레젠테이션

Size: px
Start display at page:

Download "PowerPoint 프레젠테이션"

Transcription

1 Chapter 02 간단한컴파일러의구조

2 01 컴파일러의논리적구조 02 컴파일러의물리적구조

3 컴파일러의논리적구조를이해할수있다. 간단한컴파일러의예를통하여컴파일러의전체구조를이해할수있다. 컴파일러의물리적구조를이해할수있다.

4 영어를한글로번역 4

5 문장이어떤요소로구성되어있는지파악하기위해문장에사용된단어를검사. 그래서이문장에는 I, am, a, boy 라는네가지단어가사용된것을알아내는데이를어휘분석이라한다. 다음으로 I, am, a, boy 가각각 8 품사인명사, 대명사, 동사, 형용사, 부사, 전치사, 접속사, 감탄사중어디에속하는지확인하고, 문장의 5 대요소인주어, 동사, 목적어, 보어, 수식어등으로구분할것이다. 그리고주어 + 동사, 주어 + 동사 + 보어, 주어 + 동사 + 목적어등문장의형식을검사하여이문장이주어 + 동사 + 보어로구성되었다는것을알아낸다. 이렇게문장의형식을알아내는것을구문분석이라한다. 그다음에는단어대단어의번역이아니라한글문법에맞게번역해야하는데이를의미분석이라한다. 그러고나서한글단어가운데더알맞은단어로번역하는코드최적화를거쳐마지막으로한글로번역하는것이다. 5

6 컴파일러도영어문장을한글로번역하는것과비슷한단계거쳐서번역 C 언어를기계어로번역 먼저주어진문장이어떤단어들을포함하고있는지확인한다. C 언어에서사용하는의미있는단어를 토큰 token 이라고한다. C 언어에서어떤토큰이사용되었는지구분하는것인데, 이를어휘분석. 두번째로는이러한단어가문장의구성요소가운데어디에맞는지확인해야한다. 즉문법을보면서토큰들이문법에맞는지검사하는데, 컴파일러에서는이를구문분석. 세번째로는한국어의의미를검사하는것, 즉의미분석을한다. 하지만형식언어는의미를가지고있지않기때문에이과정에서주로형 type 을검사한다. 의미분석으로생성된코드의실행시간을줄이거나기억장소를줄이기위한코드최적화 마지막으로목적기계 (target machine) 의특성을고려하여목적코드를생성. 6

7 컴파일러의구조에대한견해 : 분석 (Analysis)- 합성 (Synthesis) 모델 : 논리적인구성측면 전단부 (Front-end)- 후단부 (Back-end) : 기계독립 (machine independent) or 기계종속 (dependent), 구현측면 컴파일러의구체적구조 7

8 8

9 아주간단한 C 문법 9

10 생성규칙 ❶의 <Sub C> 는 <assign-st> 로치환된다는것을의미한다. 생성규칙 ❷의 <assign-st> 는 <lhs> 가먼저오고 = 가그다음으로오며 <exp> 가온뒤마지막으로 ; 이오는문법이다. [ 그림 2-4] 는 C 언어의치환문을표현하고있으며, 산술식에는산술연산자 +, -, *, / 등사칙연산을허용하는데우선순위는 * 와 / 가높고그다음이 +, -이며, 모든연산자가왼쪽결합법칙을취함을알수있다. 또한산술식에괄호를사용할수있으며, 식별자는첫글자가영문자나언더바로시작하고두번째글자부터는영문자, 숫자, 언더바가올수있으며길이의제한이없다. 그리고숫자는 0과양의정수를사용할수있으며, 영문자는소문자 a부터 z까지사용가능하다. 10

11 [ 예제 2-1] 치환문 ni = (po - 60); 이주어진문법에맞는문장인지확인해보자. 이를확인하는방법은크게두가지가있는데여기서는좌단유도 (leftmost derivation) 하는방법으로확인해본다. 유도는생성규칙의왼쪽을오른쪽으로대체하는것이며, 좌단유도는가장왼쪽기호부터유도하는것을말한다 [ 풀이 ] <Sub C> <assign-st> ( 생성규칙 ❶ 적용 ) <lhs> = <exp>; ( 생성규칙 ❷ 적용 ) <variable> = <exp>; ( 생성규칙 ❸ 적용 ) <ident> = <exp>; ( 생성규칙 ❼ 적용 ) (<letter> _){<letter> <digit> _} = <exp>; ( 생성규칙 ❽ 적용 ) n{<letter> <digit> _} = <exp>; ( 생성규칙 ❿ 적용 ) ni = <exp>; ( 생성규칙 ❿ 적용 ) ni = <term>; ( 생성규칙 ❹ 적용 ) 11

12 ni = <factor>; ( 생성규칙 ❺ 적용 ) ni = (<exp>); ( 생성규칙 ❻ 적용 ) ni = (<exp>-<term>); ( 생성규칙 ❹ 적용 ) ni = (<term>-<term>); ( 생성규칙 ❹ 적용 ) ni = (<factor>-<term>); ( 생성규칙 ❺ 적용 ) ni = (<variable>-<term>); ( 생성규칙 ❻ 적용 ) ni = (<ident>-<term>); ( 생성규칙 ❼ 적용 ) ni = ((<letter> _){<letter> <digit> _}-<term>); ( 생성규칙 ❽ 적용 ) ni = (p{<letter> <digit> _}-<term>); ( 생성규칙 ❿ 적용 ) ni = (po - <term>); ( 생성규칙 ❿ 적용 ) ni = (po - <factor>); ( 생성규칙 ❺ 적용 ) ni = (po - <number>); ( 생성규칙 ❻ 적용 ) ni = (po - {<digit>}); ( 생성규칙 ❾ 적용 ) ni = (po - 60); ( 생성규칙 11 적용 ) 치환문 ni = (po - 60); 이주어진문법에맞는문장이다. 12

13 [ 예제 2-2] 치환문 ni = ba * po ni / (abc + 50); 이 [ 그림 2-4] 의문법에맞는문장인지알아보자. [ 풀이 ] <Sub C> <assign-st> ( 생성규칙 ❶ 적용 ) <lhs> = <exp>; ( 생성규칙 ❷ 적용 ) <variable> = <exp>; ( 생성규칙 ❸ 적용 ) <ident> = <exp>; ( 생성규칙 ❼ 적용 ) (<letter> _){<letter> <digit> _} = <exp>; ( 생성규칙 ❽ 적용 ) n{<letter> <digit> _} = <exp>; ( 생성규칙 ❿ 적용 ) ni = <exp>; ( 생성규칙 ❿ 적용 ) ni = <exp>+<term>; ( 생성규칙 ❹ 적용 ) ni = <exp>-<term>+<term>; ( 생성규칙 ❹ 적용 ) ni = <term>-<term>+<term>; ( 생성규칙 ❹ 적용 ) ni = <term>*<factor>-<term>+<term>; ( 생성규칙 ❹ 적용 ) ni = <factor>*<factor>-<term>+<term>; ( 생성규칙 ❺ 적용 ) ni = <variable>*<factor>-<term>+<term>; ( 생성규칙 ❻ 적용 ) ni = <ident>*<factor>-<term>+<term>; ( 생성규칙 ❼ 적용 ) ni = (<letter> _){<letter> <digit> _}*<factor>-<term>+<term>; ( 생성규칙 ❽ 적용 ) 13

14 ni = b{<letter> <digit> _}*<factor>-<term>+<term>; ( 생성규칙❿ 적용 ) ni = ba * <factor>-<term>+<term>; ( 생성규칙 ❿ 적용 ) ni = ba * <variable>-<term>+<term>; ( 생성규칙 ❻ 적용 ) ni = ba * <ident>-<term>+<term>; ( 생성규칙 ❼ 적용 ) ni = ba * (<letter> _){<letter> <digit> _}-<term>+<term>; ( 생성규칙❽ 적용 ) ni = ba * p{<letter> <digit> _}-<term>+<term>; ( 생성규칙❿ 적용 ) ni = ba * po - <term>+<term>; ( 생성규칙 ❿ 적용 ) ni = ba * po - <factor>+<term>; ( 생성규칙 ❺ 적용 ) ni = ba * po - <number>+<term>; ( 생성규칙 ❻ 적용 ) ni = ba * po - {<digit>}+<term>; ( 생성규칙 ❾ 적용 ) ni = ba * po <term>; ( 생성규칙 11 적용 ) ni = ba * po <term>/<factor>; ( 생성규칙 ❺ 적용 ) ni = ba * po <factor>/<factor>; ( 생성규칙 ❺ 적용 ) ni = ba * po <variable>/<factor>; ( 생성규칙 ❻ 적용 ) ni = ba * po <ident>/<factor>; ( 생성규칙 ❼ 적용 ) ni = ba * po (<letter> _){<letter> <digit> _}/<factor>; ( 생성규칙❽ 적용 ) ni = ba * po n{<letter> <digit> _}/<factor>; ( 생성규칙❿ 적용 ) ni = ba * po ni /<factor>; ( 생성규칙 ❿ 적용 ) ni = ba * po ni /(<exp>+<term>); ( 생성규칙 ❹ 적용 ) 14

15 ni = ba * po ni /(<term>+<term>); ( 생성규칙 ❹ 적용 ) ni = ba * po ni /(<factor>+<term>); ( 생성규칙 ❺ 적용 ) ni = ba * po ni /(<variable>+<term>); ( 생성규칙 ❻ 적용 ) ni = ba * po ni /(<ident>+<term>); ( 생성규칙 ❼ 적용 ) ni = ba * po ni /((<letter> _){<letter> <digit> _}+<term>); ( 생성규칙 ❽ 적용 ) ni = ba * po ni /(a{<letter> <digit> _}+<term>); ( 생성규칙 ❿ 적용 ) ni = ba * po ni /(abc+<term>); ( 생성규칙 ❿ 적용 ) ni = ba * po ni /(abc+<factor>); ( 생성규칙 ❺ 적용 ) ni = ba * po ni /(abc+<number>); ( 생성규칙 ❻ 적용 ) ni = ba * po ni /(abc+{<digit>}); ( 생성규칙 ❾ 적용 ) ni = ba * po ni /(abc+50); ( 생성규칙 11 적용 ) 이와같이좌단유도에의해치환문 ni = ba * po ni / (abc + 50); 은 [ 그림 2-4] 의문법에맞는문장임을알수있다. 15

16 치환문 ni = ba * po ni / (abc + 50); 에대한컴파일러도식화 16

17 17

18 어휘분석 (lexical analysis, scanning) 원시프로그램을읽어들여토큰 (token) 이라는의미있는문법적단위 (syntactic entity) 로분리 어휘분석을담당하는도구 (tool) 를어휘분석기 (lexical analyzer) 혹은스캐너 (scanner) 라고부른다. 토큰 : 문법적으로의미있는최소단위로문법에서터미널기호임 position = initial + rate * 60 토큰의종류 식별자 (identifier) ( position, initial, rate,... ) 예약어 (key word) ( IF, WHILE,... ) : reserved word 상수 (constant) ( 60, KIM... ) : numerical, literal 연산자 (operator) ( +, *, %,... ) 구분자 (delimiter) ( [, ], ;... ) 18

19 [ 그림 2.4] 의문법에서예약어가허용되는지를확인한다, [ 그림 2.4] 에서는예약어를사용하지않는다. 상수를보면, 0 이나양의정수를허용한다. 연산자는 4 칙연산자인 +, -, *, / 를사용하고치환연산자인 = 를허용한다. 식별자도허용하고첫자는영문자나언더바로시작하고두번째자부터는영문자나숫자, 언더바를사용하고길이에는제한이없다. 구분자로는세미콜론만이사용된다. 이들을정규문법과정규표현으로나타내면다음과같다. 1) 식별자 : 정규문법 S la _A A la da _A ε 로부터정규표현으로나타내기위해서정규표현방정식은다음과같다. S = (l + _)A A = la da _A ε = (l + d +_ )A + ε = (l + d +_ )* 이것으로부터해를구하면 S = (l + _)A = (l + _)(l + d +_ )* 2) 상수 : S= (d) + 3) 연산자 : S = + - * / = 4) 구분자 : ;, (, ) 19

20 이들을받아들이는유한오토마타는다음과같다. 20

21 토큰에대한표현은 ( 토큰번호, 토큰값 ) 의순서쌍으로표현 주석 (comment) 도이과정에서처리 21

22 구문분석 (syntax-analysis, parsing) 어휘분석단계로부터토큰들을받아이토큰들이주어진문법 (grammar) 에맞는지를검사하고올바른문장에대해서는그문장에대한파스트리 (parse tree) 를출력하고올바르지못한문장에대해서는에러메시지 (error message) 를출력하는과정을구문분석 (syntax analysis) 혹은파싱 (parsing) 구문분석을담당하는도구 (tool) 를구문분석기 (syntax analyzer) 혹은파서 (parser) 라고부른다. 파스트리 (parse tree) 는토큰들을터미널노드 (terminal node) 로하는트리 (tree) 22

23 ni = ba * po 60 + ni / (abc + 50); 에대한파스트리 23

24 [ 그림 2-4] 의문법에대한 SLR 파싱표가 [ 표 2-1] 과같을때이파싱표를가지고구문분석을할수있다. 파스트리에대한구문트리 24

25 [ 그림 2-4] 의문법에대한 SLR 파싱표가 [ 표 2-1] 과같을때이파싱표를가지고구문분석을할수있다. 25

26 26

27 27

28 28

29 29

30 [ 표 2-2] 의파싱에서주어진문장에대해수락되었으므로치환문 ni = ba * po ni / (abc + 50); 은주어진문법에맞는문장임을알수있다. 30

31 의미분석 (semantic-analysis, parsing) 원시프로그램의의미적오류를검사하고계속되는코드생성단계를위한정보를모으는일 의미분석을담당하는도구 (tool) 를의미분석기 (semantic analyzer) 의미분석단계에서가장중요한기능중의하나는형검사 (type checking) 각연산자들이원시프로그램규칙에의해서허용된피연산자를가졌는가를검사 ( 일반적연산 (generic operation) 과형고정연산 (Type specific operation)) 정수와실수의일반적연산을허용하는데이때의의미분석기는연산을수행하기전에정수를실수로바꾸어주는작업.( 언어정의시간 ) 예를들어 a+b 와같은산술식을생각해보자. a 와 b 의자료형을각각 int 형과 float 형이라면형고정연산에서는에러. 반면에일반적연산에서는 a 나 b 의형을변환하여연산을허용. 형변환 (type conversion) 이란주어진자료형의값을다른자료형의값으로변환하는것을의미, 이에는시스템에서자동으로형을변환하는묵시적형변환 (implicit type conversion) 과프로그래머가명시적으로형변환을요구하는명시적형변환 (explicit type conversion). 명시적변환은프로그래머가명령문으로요구한형변환으로캐스트 (cast) 연산. 묵시적형변환은시스템에서자동으로형을변환하는것으로자동변환 (automatic type conversion) 또는강제변환 (coercion) 31

32 [ 예 2-3] 어떤언어가일반적연산을허용하고정수형인 int 와실수형인 float 가있는경우, 언어정의시간에정수형을실수형으로변환하여계산한다고가정하고, 치환문 ni = ba * po ni / (abc + 50); 에서나타난식별자 ni, ba, po, ni, abc 는모두실수형이라고가정한다. 이때 [ 그림 2-8] 의구문트리를가지고의미분석을해보자. [ 풀이 ] 의미분석하면 [ 그림 2.9] 과같다. 여기서 inttofloat 는정수형을실수형으로변환하는함수. 32

33 중간코드생성 (intermediate code generation) 구문분석단계에서만들어진구문트리를이용하여코드를생성하거나한문법규칙이감축될때마다문법지시적번역 (syntax-directed translation) 으로이루어짐 중간코드생성을담당하는도구를중간코드생성기 (intermediate code generator) 중간코드를생성하기위해서는중간언어가필요 중간언어 역폴란드식표기 (Fortran 의산술식, Basic 의 interpreter), 폴란드식표기 (prefix) 중간언어중 3- 주소코드는각명령어마다 3 개의피연산자를가진 A = B op C 형태의명령어의나열이다. 33

34 치환문 ni = ba * po ni / (abc + 50); 에대해 3- 주소코드 (three-address code) 를이용한다면다음과같은중간코드가생성된다. temp1 = id2 * id3 temp2 = inttofloat(60) temp3 = temp1 - temp2 temp4 = inttofloat(50) temp5 = id4 + temp4 temp6 = id1 / temp5 temp7 = temp3 + temp6 id1 = temp7 여기서각명령어의계산된값을담고있을임시기억장소인 temp1, temp2, temp3, temp4, temp5, temp6, temp7 과같은임시변수를생성해야한다. 8 장에서중간언어와중간코드생성에대해자세히설명할것이다. 34

35 코드최적화 (code optimization) 같은기능을유지하면서코드를좀더효율적으로만들어코드수행시기억공간이나수행시간을절약하기위한단계 선택적인단계로서생략되는경우도있지만요즈음에와서는 RISC (Reduced Instruction Set Computer) 와같은컴퓨터구조의특성을활용하기위해서최적화단계를많이사용하고있다 최적화방법은최적화가적용되는프로그램의영역에따라서지역최적화 (local optimization), 전역최적화 (global optimization), 프로시저간최적화 (inter-procedural optimization), 기능적인측면으로서는실행시간최적화와메모리최적화로분류, 최적화가많이이루어지는부분에따라서는루프 (loop 혹은반복문 ) 최적화와단일문최적화로구분. 또한, 목적기계의의존성에따라서기계독립최적화 (machine independent optimization) 와기계종속최적화 (machine dependent optimization) 등이있다. 35

36 지역최적화 부분적인관점에서일련의비효율적인코드들을구분해내고좀더효율적인코드로수정하는방법으로코드가분기해나가거나분기해들어오는부분이없는기본블록 (basic block) 내에서최적화를수행하므로상대적으로쉽게수행할수있다. 기본블록은어떠한제어흐름도가지지않기때문에분석이거의필요없다. 이방법에는공통부분식제거 (common subexpression elimination), 복사전파 (copy propagation), 죽은코드제거 (dead-code elimination), 상수폴딩, 대수학적간소화등이있다. 전역최적화 기본블록을넘어서지만하나의프로시저내에서일련의비효율적인코드들을구분해내고좀더효율적인코드로만드는방법이다. 이방법을적용하기위해서는지역최적화보다더많은정보와많은비용을요구해서수행하기는어렵지만, 지역최적화보다효과가훨씬좋다. 전역최적화는일반적으로자료흐름분석 (data flow analysis) 이라는기법을사용하는데, 자료흐름분석은프로그램안에서사용되는변수의경로 (path) 에관한정보를수집해서처리하는과정이다. 이방법에는전역적공통부분식제거, 상수폴딩, 도달될수없는코드의제거등이있다. 36

37 최적화를수행하기위해서는주어진중간코드를기본블록 (basic block) 과흐름그래프 (flow graph) 가필요하다. 치환문 ni = ba * po ni / (abc + 50); 에대해 3-주소코드로생성된중간코드를가지고간략한코드최적화를하면 [ 그림 2-10] 과같다. 37

38 목적코드생성 (code generation) 연산을수행할레지스터를선택하거나자료에기억장소의위치를정해주며실제로목적기계에대한코드를생성하는단계 레지스터두개를사용하는경우의예 : LOAD LOAD MULT R2, id2 R1, id3 R2, R1 SUBT R2, #60.0 LOAD R1, id4 ADD R1, #50.0 STORE LOAD DIV ADD W1, R1 R1, id1 R1, W1 R2, R1 STORE id1, R2 38

39 2.2 컴파일러의물리적구조 어떻게구현할것인가? One pass : 실행속도가빠르고, 효율성이좋다. Two pass : 각모듈단위로작성, 이식성, 기계독립적인최적화가능 컴파일러를설계할때고려사항 : 컴파일러의논리적구조 컴퓨터자원 사용자의요구사항 개발하는인적자원 39

PowerPoint Presentation

PowerPoint Presentation Lecture 01: Compiler Overview Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2019 강의정보 교과목명 : 컴파일러 개설학과 : 컴퓨터공학과 4학년 학점및시수 : 3학점 3시간 강의시간 :

More information

3장 어휘분석

3장 어휘분석 Video & Image VIPL Processing Lab. Compiler Construction 한국방송통신대학교컴퓨터과학과출석수업 제 2012-2 공학박사김명진 (HCI & 지능형로봇연구소 ) 숭실대학교연구교수 컴파일러교재구성 2장 : 형식언어와오토마타 3장 : 어휘분석 4장 : Contex-free 언어와푸시다운오토마타 5장 : 구문분석 2 어휘분석

More information

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx

Microsoft PowerPoint - chap02-C프로그램시작하기.pptx #include int main(void) { int num; printf( Please enter an integer "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을 작성하면서 C 프로그램의

More information

Microsoft PowerPoint - chap04-연산자.pptx

Microsoft PowerPoint - chap04-연산자.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); } 1 학습목표 수식의 개념과 연산자, 피연산자에 대해서 알아본다. C의 를 알아본다. 연산자의 우선 순위와 결합 방향에

More information

자연언어처리

자연언어처리 제 7 장파싱 파싱의개요 파싱 (Parsing) 입력문장의구조를분석하는과정 문법 (grammar) 언어에서허용되는문장의구조를정의하는체계 파싱기법 (parsing techniques) 문장의구조를문법에따라분석하는과정 차트파싱 (Chart Parsing) 2 문장의구조와트리 문장 : John ate the apple. Tree Representation List

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 4 장 : 연산자 2012 년 이은주 학습목표 수식의개념과연산자및피연산자에대한학습 C 의알아보기 연산자의우선순위와결합방향에대하여알아보기 2 목차 연산자의기본개념 수식 연산자와피연산자 산술연산자 / 증감연산자 관계연산자 / 논리연산자 비트연산자 / 대입연산자연산자의우선순위와결합방향 조건연산자 / 형변환연산자 연산자의우선순위 연산자의결합방향

More information

형식 언어

형식 언어 컴파일러개요 아주대학교정보및컴퓨터공학부 목차 컴파일러란 프로그래밍언어 관련프로그램들 컴파일러의일반적인구조 컴파일러자동화도구 Compiler 2 컴파일러란 Compiler A compiler is a computer program which translates programs written in a particular high-level programming

More information

EA0015: 컴파일러

EA0015: 컴파일러 5 Context-Free Grammar 무엇을공부하나? 앞에서배운 " 정규식 " 은언어의 " 어휘 (lexeme)" 를표현하는도구로사용되었다. 언어의 " 구문 (syntax)" 은 " 정규언어 " 의범위를벗어나기때문에 " 정규식 " 으로표현이불가능하다. 본장에서배우는 " 문맥자유문법 " 은언어의 " 구문 (syntax)" 을표현할수있는도구이다. 어떤 " 문맥자유문법

More information

컴파일러

컴파일러 YACC 응용예 Desktop Calculator 7/23 Lex 입력 수식문법을위한 lex 입력 : calc.l %{ #include calc.tab.h" %} %% [0-9]+ return(number) [ \t] \n return(0) \+ return('+') \* return('*'). { printf("'%c': illegal character\n",

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Lecture 02 프로그램구조및문법 Kwang-Man Ko kkmam@sangji.ac.kr, compiler.sangji.ac.kr Department of Computer Engineering Sang Ji University 2018 자바프로그램기본구조 Hello 프로그램구조 sec01/hello.java 2/40 자바프로그램기본구조 Hello 프로그램구조

More information

Microsoft PowerPoint - chap06-2pointer.ppt

Microsoft PowerPoint - chap06-2pointer.ppt 2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.

More information

쉽게

쉽게 Power Java 제 4 장자바프로그래밍기초 이번장에서학습할내용 자바프로그램에대한기초사항을학습 자세한내용들은추후에. Hello.java 프로그램 주석 주석 (comment): 프로그램에대한설명을적어넣은것 3 가지타입의주석 클래스 클래스 (class): 객체를만드는설계도 ( 추후에학습 ) 자바프로그램은클래스들로구성된다. 그림 4-1. 자바프로그램의구조 클래스정의

More information

Semantic Consistency in Information Exchange

Semantic Consistency in Information Exchange 제 3 장시맨틱스 (Semantics) Reading Chap 13 숙대창병모 1 시맨틱스의필요성 프로그램의미의정확한이해 소프트웨어의정확한명세 소프트웨어시스템에대한검증혹은추론 컴파일러혹은해석기작성의기초 숙대창병모 2 3.1 Operational Semantics 숙대창병모 3 의미론의종류 Operational Semantics 프로그램의동작과정을정의 Denotational

More information

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770>

<342EBAAFBCF620B9D720B9D9C0CEB5F92E687770> 예약어(reserved word) : 프로그래밍 언어에서 특별한 용도로 사용하고자 미리 지정한 단어 - 프로그램의 구성요소를 구별하게 해주는 역할 => 라벨, 서브 프로그램 이름, 변수에 연관되어 다른 변수나 서브 프로그램 등과 구별 - 식별자의 최대길이는 언어마다 각각 다르며 허용길이를 넘어서면 나머지 문자열은 무시됨 - FORTRAN, COBOL, HTML

More information

슬라이드 1

슬라이드 1 Pairwise Tool & Pairwise Test NuSRS 200511305 김성규 200511306 김성훈 200614164 김효석 200611124 유성배 200518036 곡진화 2 PICT Pairwise Tool - PICT Microsoft 의 Command-line 기반의 Free Software www.pairwise.org 에서다운로드후설치

More information

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드]

Microsoft PowerPoint - C프로그래밍-chap03.ppt [호환 모드] Chapter 03 변수와자료형 2009 한국항공대학교항공우주기계공학부 (http://mercury.kau.ac.kr/sjkwon) 1 변수와자료유형 변수 프로그램에서자료값을임시로기억할수있는저장공간을변수 (variables) 변수 (Variables) 는컴퓨터의메모리인 RAM(Random Access Memory) 에저장 물건을담는박스라고생각한다면박스의크기에따라담을물건이제한됨

More information

Microsoft PowerPoint 자바-기본문법(Ch2).pptx

Microsoft PowerPoint 자바-기본문법(Ch2).pptx 자바기본문법 1. 기본사항 2. 자료형 3. 변수와상수 4. 연산자 1 주석 (Comments) 이해를돕기위한설명문 종류 // /* */ /** */ 활용예 javadoc HelloApplication.java 2 주석 (Comments) /* File name: HelloApplication.java Created by: Jung Created on: March

More information

Microsoft PowerPoint - chap01-C언어개요.pptx

Microsoft PowerPoint - chap01-C언어개요.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 프로그래밍의 기본 개념을

More information

구문 분석

구문 분석 컴파일러구성 제 10 강 중간언어 / 인터프리터 Motivation rapid development of machine architectures proliferation of programming languages portable & adaptable compiler design --- P_CODE porting --- rewriting only back-end

More information

Microsoft PowerPoint - PL_03-04.pptx

Microsoft PowerPoint - PL_03-04.pptx Copyright, 2011 H. Y. Kwak, Jeju National University. Kwak, Ho-Young http://cybertec.cheju.ac.kr Contents 1 프로그래밍 언어 소개 2 언어의 변천 3 프로그래밍 언어 설계 4 프로그래밍 언어의 구문과 구현 기법 5 6 7 컴파일러 개요 변수, 바인딩, 식 및 제어문 자료형 8

More information

JAVA PROGRAMMING 실습 02. 표준 입출력

JAVA PROGRAMMING 실습 02. 표준 입출력 자바의기본구조? class HelloJava{ public static void main(string argv[]){ system.out.println( hello,java ~ ){ } } # 하나하나뜯어살펴봅시다! public class HelloJava{ 클래스정의 public static void main(string[] args){ System.out.println(

More information

Microsoft PowerPoint - [2009] 02.pptx

Microsoft PowerPoint - [2009] 02.pptx 원시데이터유형과연산 원시데이터유형과연산 원시데이터유형과연산 숫자데이터유형 - 숫자데이터유형 원시데이터유형과연산 표준입출력함수 - printf 문 가장기본적인출력함수. (stdio.h) 문법 ) printf( Test printf. a = %d \n, a); printf( %d, %f, %c \n, a, b, c); #include #include

More information

슬라이드 1

슬라이드 1 3 장. 선행자료 어휘원소, 연산자와 C 시스템 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2019-1 st 프로그래밍입문 (1) 2 목차 1.1 문자와어휘원소 1.2 구문법칙 1.3 주석 1.4 키워드 (Keyword) 1.5 식별자 (Identifier) 1.6 상수 (Integer,

More information

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드]

Microsoft PowerPoint - Perpect C 02.ppt [호환 모드] 02 C 프로그래밍기초 충남대학교이형주 1 C 프로그램구조 콘솔응용프로그램 2 프로그램실행순서 C 프로그램은여러함수의조합으로구성 함수란정해진규칙에의하여일련의작업을수행하는프로그램의단위 실행순서 main 함수는프로그램이실행되면가장먼저시작되는부분 모든함수내부에서는위에서아래로, 좌에서우로, 문장이위치한순서대로실행 3 전처리기 전처리기 (preprocessor) 미리처리하는프로그램으로,

More information

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074>

< E20C6DFBFFEBEEE20C0DBBCBAC0BB20C0A7C7D12043BEF0BEEE20492E707074> Chap #2 펌웨어작성을위한 C 언어 I http://www.smartdisplay.co.kr 강의계획 Chap1. 강의계획및디지털논리이론 Chap2. 펌웨어작성을위한 C 언어 I Chap3. 펌웨어작성을위한 C 언어 II Chap4. AT89S52 메모리구조 Chap5. SD-52 보드구성과코드메모리프로그래밍방법 Chap6. 어드레스디코딩 ( 매핑 ) 과어셈블리어코딩방법

More information

PowerPoint Presentation

PowerPoint Presentation 5 불대수 IT CookBook, 디지털논리회로 - 2 - 학습목표 기본논리식의표현방법을알아본다. 불대수의법칙을알아본다. 논리회로를논리식으로논리식을논리회로로표현하는방법을알아본다. 곱의합 (SOP) 과합의곱 (POS), 최소항 (minterm) 과최대항 (mxterm) 에대해알아본다. 01. 기본논리식의표현 02. 불대수법칙 03. 논리회로의논리식변환 04.

More information

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt 변수와상수 1 변수란무엇인가? 변수 : 정보 (data) 를저장하는컴퓨터내의특정위치 ( 임시저장공간 ) 메모리, register 메모리주소 101 번지 102 번지 변수의크기에따라 주로 byte 단위 메모리 2 기본적인변수형및변수의크기 변수의크기 해당컴퓨터에서는항상일정 컴퓨터마다다를수있음 short

More information

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은 Data structure: Assignment 1 Seung-Hoon Na October 1, 018 1 1.1 Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은 multiline으로 구성될 수 있으며, 한 라인에는 임의의 갯수의 숫자가 순서대로 나열될

More information

Microsoft PowerPoint - chap03-변수와데이터형.pptx

Microsoft PowerPoint - chap03-변수와데이터형.pptx #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num %d\n", num); return 0; } 1 학습목표 의 개념에 대해 알아본다.

More information

Microsoft PowerPoint - ch07 - 포인터 pm0415

Microsoft PowerPoint - ch07 - 포인터 pm0415 2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자

More information

C++ Programming

C++ Programming C++ Programming 연산자다중정의 Seo, Doo-okok clickseo@gmail.com http://www.clickseo.com 목 차 연산자다중정의 C++ 스타일의문자열 2 연산자다중정의 연산자다중정의 단항연산자다중정의 이항연산자다중정의 cin, cout 그리고 endl C++ 스타일의문자열 3 연산자다중정의 연산자다중정의 (Operator

More information

Microsoft PowerPoint - lec3.ppt

Microsoft PowerPoint - lec3.ppt 2008 학년도 1 학기 상지대학교컴퓨터정보공학부 고광만 강의내용 연산자 (operator) 연산자종류연산자우선순위자료형변환 문장 (statement) 배정문 혼합문 제어문조건문, 반복문, 분기문 표준입출력 2 연산자 식 (expression) 의의미를결정 식은연산자 (operator) 와피연자 (operand) 로구성식의값에따라산술식, 관계식, 논리식으로구분

More information

Microsoft PowerPoint - chap5.ppt

Microsoft PowerPoint - chap5.ppt 제 5 장 Context-Free 문법 상지대학교컴퓨터정보공학부고광만 (kkman@mail.sangji.ac.kr) Contents 5.1 서론 5.2 유도와유도트리 5.3 문법변환 5.4 CFG 표기법 5.5 Push Down Automata; PDA 5.6 Context-free 언어와 PDA 언어 제 5 장 : Context-Free Grammar 2

More information

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음 CHAPTER 9 둘중하나선택하기 관계연산자 두개의피연산자를비교하는연산자 결과값은참 (1) 아니면거짓 (0) x == y x 와 y 의값이같은지비교한다. 관계연산자 연산자 의미 x == y x와 y가같은가? x!= y

More information

Observational Determinism for Concurrent Program Security

Observational Determinism for  Concurrent Program Security 웹응용프로그램보안취약성 분석기구현 소프트웨어무결점센터 Workshop 2010. 8. 25 한국항공대학교, 안준선 1 소개 관련연구 Outline Input Validation Vulnerability 연구내용 Abstract Domain for Input Validation Implementation of Vulnerability Analyzer 기존연구

More information

<B8AEC6F7C6AEBAE4BEEE20C0CEBCE2>

<B8AEC6F7C6AEBAE4BEEE20C0CEBCE2> 강의계획서 (Syllabus) 2018 학년도제 1 학기 교과목명 Title) 형식언어 학수번호 No. -Class No.) CSE4031-01 이수구분 Classification) 강의실 / 수업시간 (Classroom & Time) 전공 학점 (Credit) 월 7.0-8.0, 수 7.0-8.0 401-5145( 신공학관 ( 기숙사 ) 5145 강의실 ),401-5145(

More information

중간코드생성

중간코드생성 컴파일러구성 제 11 강 결정적구문분석 10.1 10.2 10.3 10.4 Introduction Syntax-Directed Translation Code Generation U-Code Translator Formal Specification lexical structure : regular expression syntactic structure : context-free

More information

n 정의 정규표현 (Regular Expression) n 정규문법 G 를대수학적인성질로표현 n 정규언어에속해있는스트링의모양을직접기술 n 정규문법은문법이나타내는언어의형태를체계적으로구하여정규표현으로나타낼수있음. 정규문법 (Regular ) 정규표현 (Regular ) 유

n 정의 정규표현 (Regular Expression) n 정규문법 G 를대수학적인성질로표현 n 정규언어에속해있는스트링의모양을직접기술 n 정규문법은문법이나타내는언어의형태를체계적으로구하여정규표현으로나타낼수있음. 정규문법 (Regular ) 정규표현 (Regular ) 유 Regular Expression and Context-free 상지대학교컴퓨터정보공학부고광만 (kkman@mail.sangji.ac.kr) 정규문법과정규언어 n 정규문법 (Regular ) n 촘스키 (Chomsky, N.) 문법규칙 -Type 3 n 토큰구조표현 ( 어휘분석단계 ) n 정규문법의형태 1 우선형문법 (right-linear grammar;

More information

C# Programming Guide - Types

C# Programming Guide - Types C# Programming Guide - Types 최도경 lifeisforu@wemade.com 이문서는 MSDN 의 Types 를요약하고보충한것입니다. http://msdn.microsoft.com/enus/library/ms173104(v=vs.100).aspx Types, Variables, and Values C# 은 type 에민감한언어이다. 모든

More information

EA0015: 컴파일러

EA0015: 컴파일러 4 Flex 무엇을공부하나? " 어휘분석기 (lexical analyzer 혹은 scanner)" 는다음과같은과정을거쳐서프로그램된다. 1 토큰정의, 2 정규식으로표현, 3 NFA로변환, 4 DFA로변환, 5 프로그램작성 위과정은앞장에서배운바와같이기계적으로이루어질수있다. "Flex(Fast Lexical Analyzer)" 는컴파일러개발자를위하여위과정을자동으로처리해주는도구이다.

More information

PowerPoint Template

PowerPoint Template 16-1. 보조자료템플릿 (Template) 함수템플릿 클래스템플릿 Jong Hyuk Park 함수템플릿 Jong Hyuk Park 함수템플릿소개 함수템플릿 한번의함수정의로서로다른자료형에대해적용하는함수 예 int abs(int n) return n < 0? -n : n; double abs(double n) 함수 return n < 0? -n : n; //

More information

untitled

untitled 5. hamks@dongguk.ac.kr (regular expression): (recognizer) : F(, scanner) CFG(context-free grammar): : PD(, parser) CFG 1 CFG form : N. Chomsky type 2 α, where V N and α V *. recursive construction ) E

More information

Microsoft PowerPoint - semantics

Microsoft PowerPoint - semantics 제 3 장시맨틱스 (Semantics) Reading Chap 13 숙대창병모 Sep. 2007 1 3.1 Operational Semantics 숙대창병모 Sep. 2007 2 시맨틱스의필요성 프로그램의미의정확한이해 소프트웨어의정확한명세 소프트웨어시스템에대한검증혹은추론 컴파일러혹은해석기작성의기초 숙대창병모 Sep. 2007 3 의미론의종류 Operational

More information

PHP & ASP

PHP & ASP 단어장프로젝트 프로젝트2 단어장 select * from address where address like '% 경기도 %' td,li,input{font-size:9pt}

More information

11장 포인터

11장 포인터 누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리

More information

슬라이드 1

슬라이드 1 2 장. 어휘원소, 연산자와 C 시스템 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2018-1 st 프로그래밍입문 (1) 2 목차 2.1 문자와어휘원소 2.2 구문법칙 2.3 주석 2.4 키워드 (Keyword) 2.5 식별자 (Identifier) 2.6 상수 (Integer,

More information

Microsoft PowerPoint - Chapter_04.pptx

Microsoft PowerPoint - Chapter_04.pptx 프로그래밍 1 1 Chapter 4. Constant and Basic Data Types April, 2016 Dept. of software Dankook University http://embedded.dankook.ac.kr/~baeksj 이장의강의목표 2 기본자료형문자표현방식과문자자료형상수자료형변환 기본자료형 (1/8) 3 변수 (Variables)

More information

슬라이드 1

슬라이드 1 -Part3- 제 4 장동적메모리할당과가변인 자 학습목차 4.1 동적메모리할당 4.1 동적메모리할당 4.1 동적메모리할당 배울내용 1 프로세스의메모리공간 2 동적메모리할당의필요성 4.1 동적메모리할당 (1/6) 프로세스의메모리구조 코드영역 : 프로그램실행코드, 함수들이저장되는영역 스택영역 : 매개변수, 지역변수, 중괄호 ( 블록 ) 내부에정의된변수들이저장되는영역

More information

untitled

untitled 시스템소프트웨어 : 운영체제, 컴파일러, 어셈블러, 링커, 로더, 프로그래밍도구등 소프트웨어 응용소프트웨어 : 워드프로세서, 스프레드쉬트, 그래픽프로그램, 미디어재생기등 1 n ( x + x +... + ) 1 2 x n 00001111 10111111 01000101 11111000 00001111 10111111 01001101 11111000

More information

adfasdfasfdasfasfadf

adfasdfasfdasfasfadf C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.

More information

C언어 및 실습 C Language and Practice

C언어 및 실습  C Language and Practice C언어 및 실습 C Language and Practice Chap. 2 : 변수의 영역 동국대학교 멀티미디어공학과 Young-Sik Jeong C 언어메모리구조 지역변수들이저장되는곳. 정확히는지역변수와그에따른환경이같이저장된다. 복귀주소와호출함수의환경이저장된다. 동적기억장소를위한공간. 프로그램이실행되는중간에필요에의해서할당받는메모리영역을통칭한다. 크기가정해져있지않고유동적이다.

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

도약종합 강의목표 -토익 700점이상의점수를목표로합니다. -토익점수 500점정도의학생들이 6주동안의수업으로 점향상시킵니다. 강의대상다음과같은분들에게가장적합합니다. -현재토익점수 500점에서 600점대이신분들에게가장좋습니다. -정기토익을 2-3번본적이있으신분

도약종합 강의목표 -토익 700점이상의점수를목표로합니다. -토익점수 500점정도의학생들이 6주동안의수업으로 점향상시킵니다. 강의대상다음과같은분들에게가장적합합니다. -현재토익점수 500점에서 600점대이신분들에게가장좋습니다. -정기토익을 2-3번본적이있으신분 도약종합 -토익 700점이상의점수를목표로합니다. -토익점수 500점정도의학생들이 6주동안의수업으로 100-200점향상시킵니다. -정기토익을 2-3번본적이있으신분. -수업도많이들어봤고, 문제도많이풀었지만문법정리가제대로되지않은분. 강의특징수업시간에토익과관련없는사적인잡담으로시간낭비하지않는수업입니다. LC : 파트별집중정리한문제풀이로유형을익혀나가는수업입니다. RC

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 13 렉스와야크 01 렉스와야크 02 렉스와야크의입력파일형식 03 플렉스와바이슨설치방법 04 플렉스사용법 05 바이슨사용법 렉스와야크의개념에대해이해할수있다. 렉스의입력파일형식과야크의입력파일형식에대해이해할수있다. 플렉스와바이슨의설치방법에대해이해할수있다. 플렉스사용법에대해이해할수있다. 바이슨사용법에대해이해할수있다. 13.1 렉스와야크 프로그래밍언어와컴퓨터구조가다양해짐에따라

More information

Microsoft PowerPoint - CSharp-10-예외처리

Microsoft PowerPoint - CSharp-10-예외처리 10 장. 예외처리 예외처리개념 예외처리구문 사용자정의예외클래스와예외전파 순천향대학교컴퓨터학부이상정 1 예외처리개념 순천향대학교컴퓨터학부이상정 2 예외처리 오류 컴파일타임오류 (Compile-Time Error) 구문오류이기때문에컴파일러의구문오류메시지에의해쉽게교정 런타임오류 (Run-Time Error) 디버깅의절차를거치지않으면잡기어려운심각한오류 시스템에심각한문제를줄수도있다.

More information

Microsoft PowerPoint - chap05-제어문.pptx

Microsoft PowerPoint - chap05-제어문.pptx int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); 1 학습목표 제어문인,, 분기문에 대해 알아본다. 인 if와 switch의 사용 방법과 사용시 주의사항에 대해 알아본다.

More information

KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion

KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion KCC2011 우수발표논문 휴먼오피니언자동분류시스템구현을위한비결정오피니언형용사구문에대한연구 1) Study on Domain-dependent Keywords Co-occurring with the Adjectives of Non-deterministic Opinion 요약 본연구에서는, 웹문서로부터특정상품에대한의견문장을분석하는오피니언마이닝 (Opinion

More information

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE

목차 BUG 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG ROLLUP/CUBE 절을포함하는질의는 SUBQUE ALTIBASE HDB 6.3.1.10.1 Patch Notes 목차 BUG-45710 문법에맞지않는질의문수행시, 에러메시지에질의문의일부만보여주는문제를수정합니다... 3 BUG-45730 ROUND, TRUNC 함수에서 DATE 포맷 IW 를추가지원합니다... 5 BUG-45760 ROLLUP/CUBE 절을포함하는질의는 SUBQUERY REMOVAL 변환을수행하지않도록수정합니다....

More information

MySQL-.. 1

MySQL-.. 1 MySQL- 기초 1 Jinseog Kim Dongguk University jinseog.kim@gmail.com 2017-08-25 Jinseog Kim Dongguk University jinseog.kim@gmail.com MySQL-기초 1 2017-08-25 1 / 18 SQL의 기초 SQL은 아래의 용도로 구성됨 데이터정의 언어(Data definition

More information

강의계획서 과목 : JUN s TOEIC 700+( 도약 ) 2017년 3차강사 : 황준선 교재 : ETS 토익기본서 (RC&LC)+ 수업부교재 (JUN s TOEIC 700+) + 품사별추가문제 +Mini Test 수업목표 : LC & RC 필수기본전략수립및 GRAM

강의계획서 과목 : JUN s TOEIC 700+( 도약 ) 2017년 3차강사 : 황준선 교재 : ETS 토익기본서 (RC&LC)+ 수업부교재 (JUN s TOEIC 700+) + 품사별추가문제 +Mini Test 수업목표 : LC & RC 필수기본전략수립및 GRAM 강의계획서 과목 : JUN s TOEIC 700+( 도약 / 단과 ) 2017년 3차강사 : 황준선 교재 : ETS 토익기본서 (RC)+ 수업부교재 (JUN s Toeic 700+)+ 추가문제 + 품사별추가문제 수업목표 : 총체적문장구조의이해 & 확립을통한품사 + 어휘유형 100% 정답및 Part 7 Key Word Location 훈련을통한 350+ 목표

More information

SRC PLUS 제어기 MANUAL

SRC PLUS 제어기 MANUAL ,,,, DE FIN E I N T R E A L L O C E N D SU B E N D S U B M O TIO

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 @ Lesson 2... ( ). ( ). @ vs. logic data method variable behavior attribute method field Flow (Type), ( ) member @ () : C program Method A ( ) Method B ( ) Method C () program : Java, C++, C# data @ Program

More information

Chap 6: Graphs

Chap 6: Graphs 그래프표현법 인접행렬 (Adjacency Matrix) 인접리스트 (Adjacency List) 인접다중리스트 (Adjacency Multilist) 6 장. 그래프 (Page ) 인접행렬 (Adjacency Matrix) n 개의 vertex 를갖는그래프 G 의인접행렬의구성 A[n][n] (u, v) E(G) 이면, A[u][v] = Otherwise, A[u][v]

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A 예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = 1 2 3 4 5 6 7 8 9 B = 8 7 6 5 4 3 2 1 0 >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = 0 0 0 0 1 1 1 1 1 >> tf = (A==B) % A 의원소와 B 의원소가똑같은경우를찾을때 tf = 0 0 0 0 0 0 0 0 0 >> tf

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 03 형식언어와유한오토마타 01 형식언어 02 형식문법 03 문법표기법 04 유한오토마타 형식언어를이해할수있다. 형식문법을이해할수있다. 문법의표기법에대해이해할수있다. 유한오토마타에대해이해할수있다. 3.1 형식언어 언어 : 알파벳으로부터생성되는모든문자열들의부분집합 문법 : 언어는문법 (grammar) 에의해서생성되고정의된다. 문법 generation

More information

Microsoft PowerPoint - additional01.ppt [호환 모드]

Microsoft PowerPoint - additional01.ppt [호환 모드] 1.C 기반의 C++ part 1 함수 오버로딩 (overloading) 디폴트매개변수 (default parameter) 인-라인함수 (in-line function) 이름공간 (namespace) Jong Hyuk Park 함수 Jong Hyuk Park 함수오버로딩 (overloading) 함수오버로딩 (function overloading) C++ 언어에서는같은이름을가진여러개의함수를정의가능

More information

1

1 1 1....6 1.1...6 2. Java Architecture...7 2.1 2SDK(Software Development Kit)...8 2.2 JRE(Java Runtime Environment)...9 2.3 (Java Virtual Machine, JVM)...10 2.4 JVM...11 2.5 (runtime)jvm...12 2.5.1 2.5.2

More information

Visual Basic 반복문

Visual Basic 반복문 학습목표 반복문 For Next문, For Each Next문 Do Loop문, While End While문 구구단작성기로익히는반복문 2 5.1 반복문 5.2 구구단작성기로익히는반복문 3 반복문 주어진조건이만족하는동안또는주어진조건이만족할때까지일정구간의실행문을반복하기위해사용 For Next For Each Next Do Loop While Wend 4 For

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (I) Contents 변수와상수 블록과변수의범위 수식과연산자 제어문과반복문 문자와문자열 배열, 포인터, 메모리관리 구조체 디버거 (gdb) 사용법 2/17 Reference The C Programming language, Brian W. Kernighan, Dennis M. Ritchie, Prentice-Hall

More information

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Function) 1. 함수의개념 입력에대해적절한출력을발생시켜주는것 내가 ( 프로그래머 ) 작성한명령문을연산, 처리, 실행해주는부분 ( 모듈 ) 자체적으로실행되지않으며,

More information

PowerPoint Presentation

PowerPoint Presentation 컴퓨터프로그래밍 Computer Programming 08 포인터기초 목차 1. 포인터변수와선언 2. 간접연산자 * 와포인터연산 3. 포인터형변환과다중포인터 컴퓨터프로그래밍 (Computer Programming) - 08 포인터기초 3 1. 포인터변수와선언 주소개념 주소 address 메모리공간은 8비트인 1 바이트마다순차적인고유한번호 메모리주소는저장장소인변수이름과함께기억장소를참조하는또다른방법

More information

USER GUIDE

USER GUIDE Solution Package Volume II DATABASE MIGRATION 2010. 1. 9. U.Tu System 1 U.Tu System SeeMAGMA SYSTEM 차 례 1. INPUT & OUTPUT DATABASE LAYOUT...2 2. IPO 중 VB DATA DEFINE 자동작성...4 3. DATABASE UNLOAD...6 4.

More information

Microsoft PowerPoint - 제5장-스택의응용.pptx

Microsoft PowerPoint - 제5장-스택의응용.pptx 제 5 강의. 스택과큐의응용 학습목차 1. 후위표기법 2. 스택을이용한후위표기법변환 3. 스택을이용한후위표기법의계산 1 1. 후위표기법 ( 정의 ) 후위표기법 (postfix notation) : 후위표기법은연산자를피연산자의뒤에놓는방법이다. 스택의응용의예이며수식의계산은계산기에서나컴퓨터프로그래밍을할때자주나타난다. x = a/b-c+d*e-a*c 다음의수식을사람이계산한다고할때계산하는과정을살펴보자.

More information

제4장 기본 의미구조 (Basic Semantics)

제4장  기본 의미구조 (Basic Semantics) 제 4 장블록및유효범위 Reading Chap. 5 숙대창병모 1 4.1 변수선언및유효범위 숙대창병모 2 변수선언과유효범위 변수선언 Declaration before Use! 대부분의언어에서변수는사용전에먼저선언해야한다. 변수의유효범위 (scope) 선언된변수가유효한 ( 사용될수있는 ) 프로그램내의범위 / 영역 변수이름뿐아니라함수등다른이름도생각해야한다. 정적유효범위

More information

chap10.PDF

chap10.PDF 10 C++ Hello!! C C C++ C++ C++ 2 C++ 1980 Bell Bjarne Stroustrup C++ C C++ C, C++ C C 3 C C++ (prototype) (type checking) C C++ : C++ 4 C C++ (prototype) (type checking) [ 10-1] #include extern

More information

C 프로그래밍 언어 입문 C 프로그래밍 언어 입문 김명호저 숭실대학교 출판국 머리말..... C, C++, Java, Fortran, Python, Ruby,.. C. C 1972. 40 C.. C. 1999 C99. C99. C. C. C., kmh ssu.ac.kr.. ,. 2013 12 Contents 1장 프로그래밍 시작 1.1 C 10 1.2 12

More information

Microsoft PowerPoint - C++ 5 .pptx

Microsoft PowerPoint - C++ 5 .pptx C++ 언어프로그래밍 한밭대학교전자. 제어공학과이승호교수 연산자중복 (operator overloading) 이란? 2 1. 연산자중복이란? 1) 기존에미리정의되어있는연산자 (+, -, /, * 등 ) 들을프로그래머의의도에맞도록새롭게정의하여사용할수있도록지원하는기능 2) 연산자를특정한기능을수행하도록재정의하여사용하면여러가지이점을가질수있음 3) 하나의기능이프로그래머의의도에따라바뀌어동작하는다형성

More information

본 강의에 들어가기 전

본 강의에 들어가기 전 C 기초특강 변수, 타입, 정수, 실수 상수 상수 (constant) #define MAX_FLOOR 100 프로그램헤더나앞부분에존재 변수의이름 ( 식별자 ) 와같은규칙을따르지만, 일반적으로대문자와 _ 로만구성 프로그램가독성을높이고, 일관된수정을위해사용 프로그램중간에갑자기등장하는임의의숫자는이해도를떨어뜨림 -> 반드시의미있는상수를이용해야함 Preprocessor

More information

슬라이드 1

슬라이드 1 1 장. C 의개요 박종혁교수 UCS Lab Tel: 970-6702 Email: jhpark1@seoultech.ac.kr SeoulTech 2017-1 st 프로그래밍입문 (1) 2 C 의개요 C-Language 란? 원하는결과를얻어내기위한 Program 작성시필요한일종의언어 Unix 운영체제하에서시스템프로그래밍을하기위해개발된언어 구조적인언어, 강력한기능,

More information

PowerPoint Presentation

PowerPoint Presentation 5 불대수 Http://RAIC.kunsn..kr 2 학습목표 마스터제목스타일편집 기본논리식의표현방법을알아본다. 불대수의법칙을알아본다. 논리회로를논리식으로논리식을논리회로로표현하는방법을알아본다. 곱의합 (SOP) 과합의곱 (POS), 최소항 (minterm) 과최대항 (mxterm) 에대해알아본다. 01. 기본논리식의표현 02. 불대수법칙 03. 논리회로의논리식변환

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Chapter 06 반복문 01 반복문의필요성 02 for문 03 while문 04 do~while문 05 기타제어문 반복문의의미와필요성을이해한다. 대표적인반복문인 for 문, while 문, do~while 문의작성법을 알아본다. 1.1 반복문의필요성 반복문 동일한내용을반복하거나일정한규칙으로반복하는일을수행할때사용 프로그램을좀더간결하고실제적으로작성할수있음.

More information

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2>

<4D F736F F F696E74202D20C1A633C0E52043C7C1B7CEB1D7B7A5B1B8BCBABFE4BCD2> 쉽게풀어쓴 C 언어 Express 제 3 장 C 프로그램구성요소 이번장에서학습할내용 * 주석 * 변수, 상수 * 함수 * 문장 * 출력함수 printf() * 입력함수 scanf() * 산술연산 * 대입연산 이번장에서는 C 프로그램을이루는구성요소들을살펴봅니다. 일반적인프로그램의형태 데이터를받아서 ( 입력단계 ), 데이터를처리한후에 ( 처리단계 ), 결과를화면에출력

More information

4장.문장

4장.문장 문장 1 배정문 혼합문 제어문 조건문반복문분기문 표준입출력 입출력 형식화된출력 [2/33] ANSI C 언어와유사 문장의종류 [3/33] 값을변수에저장하는데사용 형태 : < 변수 > = < 식 > ; remainder = dividend % divisor; i = j = k = 0; x *= y; 형변환 광역화 (widening) 형변환 : 컴파일러에의해자동적으로변환

More information

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning C Programming Practice (II) Contents 배열 문자와문자열 구조체 포인터와메모리관리 구조체 2/17 배열 (Array) (1/2) 배열 동일한자료형을가지고있으며같은이름으로참조되는변수들의집합 배열의크기는반드시상수이어야한다. type var_name[size]; 예 ) int myarray[5] 배열의원소는원소의번호를 0 부터시작하는색인을사용

More information

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2

비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,

More information

Microsoft PowerPoint Predicates and Quantifiers.ppt

Microsoft PowerPoint Predicates and Quantifiers.ppt 이산수학 () 1.3 술어와한정기호 (Predicates and Quantifiers) 2006 년봄학기 문양세강원대학교컴퓨터과학과 술어 (Predicate), 명제함수 (Propositional Function) x is greater than 3. 변수 (variable) = x 술어 (predicate) = P 명제함수 (propositional function)

More information

Speculative Register Promotion Using Advanced Load Address Table (ALAT)

Speculative Register Promotion Using Advanced Load  Address Table (ALAT) 고성능자바스크립트 서울대학교전기 정보공학부 가상머신및최적화연구실 박혁우 목차 JavaScript Language JavaScript Engine 개요 JavaScript 최적화수행방식 JavaScript engine 병렬화 고성능 JavaScript 를위한브라우저확장 Code Snapshot 기법 자바스크립트병렬로딩 2 JavaScript JavaScript

More information

온라인 IT 교육최강 ( 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1

온라인 IT 교육최강 (  강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1 강의정보처리필기강사조대호 차시명 [CA-06 강 ] 프로세서와명령어차시 6 차시 학습내용 프로세서와명령어 학습목표 컴퓨터의구조와프로세서에대해이해할수있다 컴퓨터의명령어에대해이해할수있다 학습내용 1. 컴퓨터의구성 - 1 - 2. 중앙처리장치 (Central Processing Unit) 주기억장치에기억된명령을꺼내서해독하고, 시스템전체에지시신호를내는장치명령코드가명령을수행할수있게필요한제어기능을제공제어장치의구성

More information

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>

<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070> #include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0

More information

OCW_C언어 기초

OCW_C언어 기초 초보프로그래머를위한 C 언어기초 2 장 : C 프로그램시작하기 2012 년 이은주 학습목표 을작성하면서 C 프로그램의구성요소 주석 (comment) 이란무엇인지알아보고, 주석을만드는방법 함수란무엇인지알아보고, C 프로그램에반드시필요한 main 함수 C 프로그램에서출력에사용되는 printf 함수 변수의개념과변수의값을입력받는데사용되는 scanf 함수 2 목차 프로그램코드

More information

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다

10 강. 쉘스크립트 l 쉘스크립트 Ÿ 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 Ÿ 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 Ÿ 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다 10 강. 쉘스크립트 쉘스크립트 쉘은명령어들을연속적으로실행하는인터프리터환경을제공 쉘스크립트는제어문과변수선언등이가능하며프로그래밍언어와유사 프로그래밍언어와스크립트언어 -프로그래밍언어를사용하는경우소스코드를컴파일하여실행가능한파일로만들어야함 -일반적으로실행파일은다른운영체제로이식되지않음 -스크립트언어를사용하면컴파일과정이없고인터프리터가소스파일에서명령문을판독하여각각의명령을수행

More information

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout <<  양수입력 : ; cin >> *p; if (*p <= 0) cout <<  양수를입력해야합니다  << endl; return; 동적할 15 장기타주제들 auto_ptr 변환함수 cast 연산자에의한명시적형변환실행시간타입정보알아내기 (RTTI) C++ 프로그래밍입문 1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout > *p; if (*p

More information

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4>

<4D F736F F F696E74202D20C1A632C0E520C7C1B7CEB1D7B7A5B0B3B9DFB0FAC1A4> 쉽게풀어쓴 C 언어 Express 제 2 장프로그램개발과정 통합개발환경 통합개발환경 (IDE: integrated development environment) 에디터 + 컴파일러 + 디버거 Visual C++: 이클립스 (eclipse): Dev-C++: 마이크로소프트제작 오픈소스프로젝트 오픈소스프로젝트 통합개발환경의종류 비주얼 C++(Visual C++)

More information

Microsoft Word - 1. ARM Assembly 실습_xp2.doc

Microsoft Word - 1. ARM Assembly 실습_xp2.doc ARM asm 의구조 ARM Assembly 실습 1. 기본골격 AREA armex,code, READONLY ;Mark first instruction to execute start MOV r0, #10 MOV r1,#3 ADD r0, r0, r1 ; r0 = r0 + r1 stop NOP NOP B stop ; Mark end of file 위의 asm의구조를이해하고실행해보세요.

More information

C 언어 프로그래밊 과제 풀이

C 언어 프로그래밊 과제 풀이 과제풀이 (1) 홀수 / 짝수판정 (1) /* 20094123 홍길동 20100324 */ /* even_or_odd.c */ /* 정수를입력받아홀수인지짝수인지판정하는프로그램 */ int number; printf(" 정수를입력하시오 => "); scanf("%d", &number); 확인 주석문 가필요한이유 printf 와 scanf 쌍

More information

<C7C1B7CEB1D7B7A1B9D6BEF0BEEE2E687770>

<C7C1B7CEB1D7B7A1B9D6BEF0BEEE2E687770> 2과목 : 프로그래밍 일반 41. 프로그래머가 직접 제어를 표현하지 않았을 경우, 그 언어 에서 미리 정해진 순서에 의해 제어가 이루어지는 순서 제 어는? 가. 구조적 나. 명시적 다. 묵시적 라. 분석적 42. 파스 트리에 대한 설명으로 틀린 것은? 가. 어떤 표현이 BNF에 의해 바르게 작성되었는지 확인하 기 위해 만드는 트리이다. 나. 파스 트리가 존재하면

More information

PowerPoint Presentation

PowerPoint Presentation #include int main(void) { int num; printf( Please enter an integer: "); scanf("%d", &num); if ( num < 0 ) printf("is negative.\n"); printf("num = %d\n", num); return 0; } 1 학습목표 을작성하면서 C 프로그램의구성요소에대하여알아본다.

More information