GNU Awk 5.2 ์ธํ„ฐํ”„๋ฆฌํ„ฐ์˜ ์ƒˆ ๋ฒ„์ „

GNU ํ”„๋กœ์ ํŠธ์˜ AWK ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด ๊ตฌํ˜„์ธ Gawk 5.2.0์˜ ์ƒˆ๋กœ์šด ๋ฆด๋ฆฌ์Šค๊ฐ€ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. AWK๋Š” ์ง€๋‚œ ์„ธ๊ธฐ 70๋…„๋Œ€์— ๊ฐœ๋ฐœ๋˜์—ˆ์œผ๋ฉฐ ์–ธ์–ด์˜ ๊ธฐ๋ณธ ๋ฐฑ๋ณธ์ด ์ •์˜๋œ 80๋…„๋Œ€ ์ค‘๋ฐ˜ ์ดํ›„ ํฐ ๋ณ€ํ™”๋ฅผ ๊ฒช์ง€ ์•Š์•˜์œผ๋ฉฐ, ์ด๋ฅผ ํ†ตํ•ด ๊ณผ๊ฑฐ ์–ธ์–ด์˜ ๋ณธ๋ž˜์˜ ์•ˆ์ •์„ฑ๊ณผ ๋‹จ์ˆœ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜์‹ญ ๋…„. AWK๋Š” ์˜ค๋žœ ์„ธ์›”์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  ๊ด€๋ฆฌ์ž๊ฐ€ ๋‹ค์–‘ํ•œ ์œ ํ˜•์˜ ํ…์ŠคํŠธ ํŒŒ์ผ์„ ๊ตฌ๋ฌธ ๋ถ„์„ํ•˜๊ณ  ๊ฐ„๋‹จํ•œ ๊ฒฐ๊ณผ ํ†ต๊ณ„๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ๊ณผ ๊ด€๋ จ๋œ ์ผ์ƒ์ ์ธ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์—ฌ์ „ํžˆ ์ ๊ทน์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฃผ์š” ๋ณ€๊ฒฝ ์‚ฌํ•ญ:

  • ๋‹ค์–‘ํ•œ awk ์‹คํ–‰ ๊ฐ„์— ๋ณ€์ˆ˜, ๋ฐฐ์—ด ๋ฐ ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜์˜ ๊ฐ’์„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” pma(์˜๊ตฌ malloc) ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž์— ๋Œ€ํ•œ ์‹คํ—˜์  ์ง€์›์ด ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • MPFR ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ณ ์ •๋ฐ€ ์‚ฐ์ˆ  ์ง€์›์€ GNU Awk ๊ด€๋ฆฌ์ž์˜ ์ฑ…์ž„์—์„œ ๋ฒ—์–ด๋‚˜ ์™ธ๋ถ€ ๋งค๋‹ˆ์•„์—๊ฒŒ ์•„์›ƒ์†Œ์‹ฑ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. GNU Awk์˜ MPFR ๋ชจ๋“œ ๊ตฌํ˜„์€ ๋ฒ„๊ทธ๋กœ ๊ฐ„์ฃผ๋ฉ๋‹ˆ๋‹ค. ์ƒํƒœ ๋ณ€๊ฒฝ์ด ์œ ์ง€๋˜๋Š” ๊ฒฝ์šฐ GNU Awk์—์„œ ์ด ๊ธฐ๋Šฅ์„ ์™„์ „ํžˆ ์ œ๊ฑฐํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.
  • ์–ด์…ˆ๋ธ”๋ฆฌ ์ธํ”„๋ผ ๊ตฌ์„ฑ ์š”์†Œ Libtool 2.4.7 ๋ฐ Bison 3.8.2๊ฐ€ ์—…๋ฐ์ดํŠธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์ˆซ์ž๋ฅผ ๋น„๊ตํ•˜๋Š” ๋…ผ๋ฆฌ๊ฐ€ C ์–ธ์–ด์—์„œ ์‚ฌ์šฉ๋˜๋Š” ๋…ผ๋ฆฌ์™€ ์ผ์น˜ํ•˜๋„๋ก ๋ณ€๊ฒฝ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์‚ฌ์šฉ์ž์˜ ๊ฒฝ์šฐ ์ด ๋ณ€๊ฒฝ ์‚ฌํ•ญ์€ ์ฃผ๋กœ Infinity ๋ฐ NaN ๊ฐ’๊ณผ ์ผ๋ฐ˜ ์ˆซ์ž์˜ ๋น„๊ต์— ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค.
  • AWK_HASH ํ™˜๊ฒฝ ๋ณ€์ˆ˜๊ฐ€ โ€œfnv1aโ€๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ํ™œ์„ฑํ™”๋˜๋Š” FNV1-A ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ์—ฐ๊ด€ ๋ฐฐ์—ด์—์„œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • CMake๋ฅผ ์‚ฌ์šฉํ•œ ๋นŒ๋“œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค(Cmake ์ง€์› ์ฝ”๋“œ๋Š” ์ˆ˜์š”๊ฐ€ ์—†์—ˆ๊ณ  XNUMX๋…„ ๋™์•ˆ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค).
  • ์ˆซ์ž์ด์ง€๋งŒ ๋ถ€์šธ๋กœ ์ฒ˜๋ฆฌ๋˜๋Š” ๋ถ€์šธ ๊ฐ’์„ ์ƒ์„ฑํ•˜๋Š” mkbool() ํ•จ์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • BWK ๋ชจ๋“œ์—์„œ "--traditional" ํ”Œ๋ž˜๊ทธ๋ฅผ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ง€์ •ํ•˜๋ฉด ์ด์ „์— "-r"("--re-interval") ์˜ต์…˜์œผ๋กœ ํ™œ์„ฑํ™”๋œ ๋ฒ”์œ„๋ฅผ ์ •์˜ํ•˜๋Š” ํ‘œํ˜„์‹์— ๋Œ€ํ•œ ์ง€์›์ด ํ™œ์„ฑํ™”๋ฉ๋‹ˆ๋‹ค.
  • rwarray ํ™•์žฅ์€ ๋ชจ๋“  ๋ณ€์ˆ˜์™€ ๋ฐฐ์—ด์„ ํ•œ ๋ฒˆ์— ์“ฐ๊ณ  ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ํ•จ์ˆ˜ writeall() ๋ฐ readall()์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๋ฒ„๊ทธ๋ฅผ ๋ณด๊ณ ํ•˜๊ธฐ ์œ„ํ•ด gawkbug ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ถ”๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค.
  • ๊ตฌ๋ฌธ ์˜ค๋ฅ˜๊ฐ€ ๊ฐ์ง€๋˜๋ฉด ์ฆ‰์‹œ ์ข…๋ฃŒ๊ฐ€ ์ œ๊ณต๋˜์–ด ํผ์ง• ํ…Œ์ŠคํŠธ ๋„๊ตฌ ์‚ฌ์šฉ ์‹œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.
  • OS/2 ๋ฐ VAX/VMS ์šด์˜ ์ฒด์ œ์— ๋Œ€ํ•œ ์ง€์›์ด ์ค‘๋‹จ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : opennet.ru

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€