U E D R , A S I H C RSS

Programming Language Class/Exam2002_1

(๋Œ€๊ฐ• ๊ธฐ์–ต๋‚˜๋Š”๋Œ€๋กœ)

  • ๋Œ€๋ถ€๋ถ„ ์šฐ๋ฆฌ๊ฐ€ ์“ฐ๋Š” ์–ธ์–ด๋Š” imperative language ์ด๋‹ค. ์™œ ๊ทธ๋Ÿด๊นŒ?
  • PL/1 ์ด ์‹คํŒจํ•œ ์ด์œ ๋Š”?
  • Compilation ๊ณผ pure interpretion ์„ ๋น„๊ตํ•˜์‹œ์˜ค.
  • C / C++ ์—์„œ์˜ ์ŠคํŠธ๋ง์˜ ๊ธธ์ด๋Š” ๊ฐ€๋ณ€์ ์ธ๊ฐ€?
  • ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ๋ฒ•์ด ์žˆ๋‹ค. Top-Down Parsing ์˜ ๊ฐ€๋Šฅ ๋˜๋Š” ๋ถˆ๊ฐ€๋Šฅํ•จ์„ ์ฆ๋ช…ํ•˜์‹œ์˜ค
A -> BaA
B -> b | bA
๋‹ค์Œ๊ณผ ๊ฐ™์€ unambiguous ๋ฌธ๋ฒ•์ด ์žˆ๋‹ค. (๋Œ€๊ฐ• ์ด๋Ÿฐ์‹. ์•„ ๊ณฑ์…ˆ๋ถ€๋ถ„์ด ์ƒ๊ฐ์•ˆ๋‚œ๋‹ค; ์ •ํ™•ํ•œ๊ฑฐ ์•„์‹œ๋Š”๋ถ„์€ ๋ณด์ถฉ์„;)
<assign> -> <id> = <expr>
<expr> -> <term> + <factor>
<factor> -> <id> | (<expr>)

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์‹์ด ์žˆ๋‹ค.
A = B + C * D
  • ์œ„์˜ ์‹์„ ๋ฌธ๋ฒ•์— ๋งž๊ฒŒ left-most ๋กœ ์œ ๋„ํ•˜์‹œ์˜ค.
  • B = 6, C = 4, D = -2 ๋ผ๊ณ  ํ–ˆ์„๋•Œ ์œ„์˜ ๋ฌธ๋ฒ•์— ์˜ํ•˜๋ฉด A ์˜ ๊ฐ’์€ ๋ฌด์—‡์ธ๊ฐ€?

  • Type ์ด ๊ฒฐ์ •์ง“๋Š” ์š”์†Œ๋“ค์—๋Š” ์–ด๋–ค ๊ฒƒ์ด ์žˆ๋Š”๊ฐ€?
  • FORTRAN, PL/1, BASIC, Perl ์ด ์–ธ์–ด๋“ค์˜ ๋ณ€์ˆ˜ ์„ ์–ธ์‹œ์˜ ๊ณตํ†ต์ ์€?
  • Perl ์€ ๋ณ€์ˆ˜์— ๋Œ€ํ•ด์„œ ์œ„์˜ ์–ธ์–ด๋“ค๊ณผ ๋‹ค๋ฅธ ์ ์ด ์žˆ๋‹ค. ์–ด๋–ค ์ ์ธ๊ฐ€?

  • Primitive Data Type ์— ๋Œ€ํ•ด ์ •์˜ํ•˜์‹œ์˜ค.
  • Floating Point ๋ณ€์ˆ˜์˜ ๊ฒฝ์šฐ ํ•ด๋‹น ๊ฐ’์— ๋Œ€ํ•ด ๊ทผ์‚ฌ๊ฐ’๋งŒ์„ ํ‘œํ˜„ํ•œ๋‹ค. ๊ทธ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€?
  • ๋‹ค๋ฅธ Primitive Data Type ์„ ์ด์šฉ, ์ •ํ™•ํ•˜๊ฒŒ Floating Point ๋ฅผ ๊ตฌํ˜„ํ•  ๋ฐฉ๋ฒ•์ด ์žˆ์„๊นŒ? (์ž์‹ ์˜ ์˜๊ฒฌ์„ ์ ์œผ์‹œ์˜ค)

Thread

๊ณต๋ถ€ํ• ๋•Œ ๊ฐ ์š”์†Œ๋“ค์— ๋Œ€ํ•œ ๋น„๊ต ํ• ๋•Œ๋งˆ๋‹ค Ada ๋ฅผ ๋นผ๋†“์ง€ ์•Š๊ธฐ์— (๋Š˜ ์ฑ…์—์„œ์˜ ๋น„๊ต์–ธ์–ด๋Š” C/C++, Pascal, Ada, Java ์ด๋‹ค) ์ฃผ๋กœ ์–ธ๊ธ‰๋œ ์–ธ์–ด๋“ค๋งŒ ๊ณต๋ถ€ํ–ˆ๊ฑด๋งŒ, ์™œ ๋œฌ๊ธˆ์—†์ด PL/1 ์„ ๋‚ด์‹ ๊ฑธ๊นŒ; ๊ทธ๋ฐ–์— ๋‹ค๋ฅธ ๋ฌธ์ œ๋“ค์€ ํ‰์ดํ•ด์„œ ๊ทธ๋‹ค์ง€ ๋ณ„ ๊ฐํฅ(?)์—†์—ˆ๊ณ , ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊ฐ€ ๊ดœ์ฐฎ์•˜๋˜๋“ฏ.

๋‚˜์˜ ๊ฒฝ์šฐ๋Š” 1. string (char array) ์œผ๋กœ ์• ๋ฎฌ๋ ˆ์ด์…˜ ํ•œ๋‹ค. (๋‹จ์ ๋„ ์ผ์Œ. ๊ณ„์‚ฐ๋’ค์˜ ๋ฉ”๋ชจ๋ฆฌํ• ๋‹น ๋ฌธ์ œ์™€ ์‹ค์ œ ์‚ฐ์ˆ ์—ฐ์‚ฐ ๊ณ„์‚ฐ์„ ์œ„ํ•œ ํ˜•๋ณ€ํ™˜์‹œ cost๊ฐ€ ๋งŽ์ด ๋“ ๋‹ค ๋“ฑ๋“ฑ) 2. long integer 2 ๊ฐœ๋กœ ์•ž์˜ 32 bit ๋Š” ์œ ํšจ์ˆซ์ž๋ฅผ, ๋’ค์˜ 32bit ๋Š” ์ง€์ˆ˜๋ฅผ ํ‘œํ˜„ํ•œ๋‹ค. (2^-31 ~ 2^31 * 2^-31 ~ 2^31 ๊นŒ์ง€ ํ‘œํ˜„๋œ๋‹ค๋ผ๊ณ  ์ผ๋Š”๋ฐ, ์‹ค์ œ๋ก  ์ € ์ˆซ์ž๋“ค์„ ๋‹ค ํ‘œํ˜„ํ•  ์ˆ˜๊ฐ€ ์—†๊ฒ ๊ตฐ. 2^31 1024 * 1024 * 1024 * 2 ๋‹ˆ๊นŒ ์•ฝ 10์–ต. ์ฆ‰, ์ž๋ฆฌ์ˆ˜ ํ‘œํ˜„๋„ 10์–ต ์ดํ›„๋ถ€ํ„ฐ๋Š” precision ์œ ํšจ์ˆซ์ž๋ฅผ ๋‹ค ์“ธ์ˆ˜ ์—†์„ํ…Œ๋‹ˆ) ์•„.. ํ’€๊ณ ๋‚˜๋‹ˆ ์ž˜๋ชป์ƒ๊ฐํ–ˆ๊ตฐ. ํ‘; --์„์ฒœ

Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:24:03
Processing time 0.0063 sec