diff --git a/README.md b/README.md index 7c92a01e810b7d62fd872602367f0abeb7ffa473..5982b6d164b1c232ca6a4a13e6e3ec8cd9fcde2c 100644 --- a/README.md +++ b/README.md @@ -43,6 +43,55 @@ bison --version ## 기능 설명 +- 상수 + - 정수형 상수(int)와 실수형 상수(double)를 지원한다. + - double은 normal한 형태만 지원한다. + +- 변수 + - 변수는 기본적으로 선언하지 않고 사용한다. + - 변수의 type은 저장되는 값에 의해 결정된다. 실행시 변경도 가능하다. + - 변수에 값을 저장하지 않고 사용할 수 있으나 값을 예측할 수 없다. + - ex) i = 10; // 변수 i는 int형 + - ex) i=3.4; // 변수 i는 double형으로 변경 + +- 수식(expression)과 연산자 + - 가감승제 연산자('+', '-', '*', '/') - 비교 연산 ('>', '>=', '<', '<=', '==', '!=') + - assignment 연산자(=) + - 정수, 실수 혼합식은 실수로 형을 변환함 + +- 문장 + - 수식문장(expression statement) + - 수식에 ';'를 넣어 문장을 만든다. + - ex) sum = 0; sum = sum + i; + - if문 + - **if** (*exp*) + *statement* + **else** + *statement* + - while문 + - **while** (*exp*) *statement* + - 출력문 + - **print** *exp;* **//exp의 계산 결과를 화면에 출력함** + - ex) print 10; + - print a*b; + - print a=b; **//b를 a에 저장한 후 그 결과인 a를 출력** + - block문 + - *{statement_list}* ## 입력및출력 예시 + +- sample1.mc + + + + +- sample2.mc + + + + +- sample3.mc + + +