Skip to content

hangul-compiler/compiler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

26 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

ํ•œ๊ธ€ ์ปดํŒŒ์ผ๋Ÿฌ ๋งŒ๋“ค๊ธฐ

ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

ํ•œ๊ธ€๋กœ ์ž‘์„ฑํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฌธ๋ฒ•์„ ์–ด์…ˆ๋ธ”๋ฆฌ์–ด ํŒŒ์ผ๋กœ ๋งŒ๋“œ๋Š” ์ปดํŒŒ์ผ๋Ÿฌ ์ž…๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ ๊ธฐ๊ฐ„

23.09.01 ~ 23.11.14

๋ฉค๋ฒ„

  • ์กฐ์„ฑ๋ฏผ
  • ์ด๋ฏผํ˜•
  • ๊น€์ˆ˜์ง„

๋ฌธ๋ฒ•

ํ•œ๊ธ€ ์ปดํŒŒ์ผ๋Ÿฌ์˜ ๋ชจ๋“  ๋ฌธ๋ฒ•์€ C์–ธ์–ด๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ•ฉ๋‹ˆ๋‹ค.

์‚ฌ์น™์—ฐ์‚ฐ

  • '+' : "๋”ํ•˜๊ธฐ"
  • '-' : "๋นผ๊ธฐ"
  • '/' : "๋‚˜๋ˆ„๊ธฐ"
  • '*' : "๊ณฑํ•˜๊ธฐ"

๋ณ€์ˆ˜ ๊ฐ’ ํ• ๋‹น

  • '=' : "๋Š”" ๋˜๋Š” "์€"

์กฐ๊ฑด๋ฌธ

  • if : "๋งŒ์•ฝ"
  • else : "์•„๋‹ˆ๋ฉด"
  • else if : "์•„๋‹ˆ๋ฉด๋งŒ์•ฝ"

๋ฐ˜๋ณต๋ฌธ

  • while : "๋ฐ˜๋ณต๋ฌธ"

์˜ˆ์ œ

์‹œ์ž‘

a ๋Š” 3 ์ด๋‹ค
b ๋Š” 3 ์ด๋‹ค

๋ฐ˜๋ณต๋ฌธ ( a ๋‹ค๋ฅด๋‹ค 1 ){
  a ๋Š” a ๋นผ๊ธฐ 1 ์ด๋‹ค
  b ๋Š” b ๋”ํ•˜๊ธฐ 1 ์ด๋‹ค
}

๋

์‹คํ–‰ ๋ฐฉ๋ฒ•

flex์™€ bison์„ ์‚ฌ์šฉํ•˜์˜€์Šต๋‹ˆ๋‹ค.

flex, bison ์ฐธ๊ณ  [https://heaeat.github.io/flex-bison/]

์ปดํŒŒ์ผ ์‹คํ–‰ exe ํŒŒ์ผ ๋งŒ๋“ค๊ธฐ

>>> bison -d min.y
>>> flex min.l // 
>>> gcc lex.yy.c min.tab.c -o [์ง€์ •ํ•  ์ด๋ฆ„].exe

gcc ๋ช…๋ น์–ด๋ฅผ ์ž…๋ ฅํ•˜๋ฉด warning ๋ฉ”์‹œ์ง€๊ฐ€ ๋œจ๋Š”๋ฐ ๊ทธ๋Œ€๋กœ ์ง„ํ–‰ํ•˜์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

์ปดํŒŒ์ผ ํ•˜๊ธฐ

>>> [์ง€์ •ํ•œ ์ด๋ฆ„].exe ์˜ˆ์ œ์ฝ”๋“œ.min

์ปดํŒŒ์ผ์„ ํ•˜๋ฉด a.s ํŒŒ์ผ์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์ฐธ๊ณ ์ž๋ฃŒ

  1. Stacksim์ด๋ผ๋Š” ์ž์ฒด์ ์ธ tool์„ ์ฐธ๊ณ ํ–ˆ์Šต๋‹ˆ๋‹ค.
  2. ์•„๋ž˜ ๊ฐ•์˜๋ฅผ ์ฐธ๊ณ ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

์ปดํŒŒ์ผ๋Ÿฌ ๊ตฌ์„ฑ๋ก  [http://www.kocw.net/home/cview.do?cid=b0728df5b04aee67]

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •