Nim ์์คํ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ์ ๋ฒ์ ์ด ์ถ์๋์์ต๋๋ค. ์ฌํด XNUMX์ ์ถ์๋ ์ง XNUMX๋ ์ด ๋์์ต๋๋ค. ์ฒซ ๋ฒ์งธ ์์ ๋ฒ์ . ๊ตฌ๋ฌธ์ Python๊ณผ ์ ์ฌํ๋ฉฐ ์ฑ๋ฅ์ ๊ฑฐ์ C++์ ์ ์ฌํฉ๋๋ค. ์ ๋ฐ๋ฅด๋ฉด ์์ฃผํ๋ ์ง๋ฌธ ์ด ์ธ์ด๋ Modula 3, Delphi, Ada, C++, Python, Lisp, Oberon์์ ๋ง์ด ์ฐจ์ฉํ์ต๋๋ค(๊ธฐ์ฌ๋ ์์ผ๋ก).
C/C++/Objective-C/JS๋ก ์ปดํ์ผํ ์ ์๋ ๊ธฐ๋ฅ ๋๋ถ์ ์ด๋์์๋ ์๋ํฉ๋๋ค. ์ง์ํฉ๋๋ค ๋งคํฌ๋ก, ์, ์ ๋ค๋ฆญ, ์์ธ, ํซ ์ฝ๋ ๊ต์ฒด ๊ทธ๋ฆฌ๊ณ ํจ์ฌ ๋. ๋ผ์ด์ ์ค - MIT.
๊ฐ์ฅ ์ค์ํ ๋ณ๊ฒฝ ์ฌํญ:
-
ARC ์๊ณ ๋ฆฌ์ฆ์ ์ฌ์ฉํ์ง๋ง ํน๋ณํ ๋ฐฉ์์ผ๋ก ์ํ ์ฐธ์กฐ๋ฅผ ์ฒ๋ฆฌํ๋ ์๋ก์ด ORC ๊ฐ๋น์ง ์์ง๊ธฐ๊ฐ ์์ต๋๋ค. --gc:orc ์ต์ ์ผ๋ก ํ์ฑํํฉ๋๋ค. ARC/ORC ์ฐจ์ด์ ์ ๋ณด ํ๋ฅญํ ๊ธฐ์ฌ๊ฐ ์์ต๋๋ค.
-
๊ฐ์ฒด ๋ณ๊ฒฝ ๊ฐ๋ฅ์ฑ์ ๋ํ ์ถ๊ฐ ๊ฒ์ฌ๋ฅผ ํฌํจํ๋ ์๊ฒฉํ ํจ์ ์ ์ ๋ชจ๋๊ฐ ์ถ๊ฐ๋์์ต๋๋ค. {.experimental: "strictFuncs".} pragma ๋๋ --experimental:strictFuncs ์ค์์น๋ฅผ ํตํด ํ์ฑํ๋ฉ๋๋ค.
-
์ด์ from ํค์๋๋ฅผ ์ฐ์ฐ์๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
-
.noalias pragma๋ฅผ ์ถ๊ฐํ์ต๋๋ค. ์ด ํค์๋๊ฐ ์ ๊ณตํ ์ ์๋ ํจ์จ์ฑ์ ๋์ด๊ธฐ ์ํด C ์ ํ ํค์๋์ ๋งคํ๋ฉ๋๋ค.
-
์ด์ --warningAsError[X]:on|off๋ฅผ ํตํด ํน์ ๊ฒฝ๊ณ ๋ฅผ ์ค๋ฅ๋ก ์ ํํ ์ ์์ต๋๋ค.
-
์ ๋ช ๋ น: nim r main.nim [args...], ์ด๋ main.nim์ ์ปดํ์ผํ๊ณ ์คํํ๋ฉฐ ๊ฒฐ๊ณผ๊ฐ nim c์ ๋์ผํ ๋ ผ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ $nimcache/main$exeExt์ ์ ์ฅ๋๋๋ก --usenimcache๋ฅผ ํฌํจํฉ๋๋ค. r ์์ค ์ฝ๋๊ฐ ๋ณ๊ฒฝ๋์ง ์์ ๊ฒฝ์ฐ ์ฌ์ปดํ์ผ์์ ์ ๊ฑฐํฉ๋๋ค. ์:
nim r compiler/nim.nim --help # ์ฒ์์ผ๋ก ์ปดํ์ผ๋จ
์์ฝ '๊ฐ์ ธ์ค๊ธฐ OS; ์์ฝ getCurrentCompilerExe()' | ๋ r - # ์ด๊ฒ๋ ์๋ํฉ๋๋ค
nim r compiler/nim.nim --fullhelp # ์ฌ์ปดํ์ผ ์์
nim r --nimcache:/tmp main # /tmp/main์ ์ ์ฅ๋ ๋ฐ์ด๋๋ฆฌ
-
์ปดํ์ผ๋ฌ๊ฐ ์ค๋ฅ/๊ฒฝ๊ณ ๋ฉ์์ง๋ฅผ ์์ฑํ ์์น๋ฅผ ํ์ํ๋ ์๋ก์ด ํํธ --hint:msgOrigin์ ์ถ๊ฐํ์ต๋๋ค. ์ด๋ ๋ฉ์์ง์ ์ถ์ฒ๊ฐ ๋ช ํํ์ง ์์ ๋ ๋์์ด ๋ฉ๋๋ค.
-
๋ฐฑ์๋๋ฅผ ๋ณ๊ฒฝํ๊ธฐ ์ํด --backend:js|c|cpp|objc(๋๋ -b:js ๋ฑ) ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
-
๋ฐ์ด๋๋ฆฌ๋ฅผ nimcache๋ก ์ถ๋ ฅํ๊ธฐ ์ํด --usenimcache ํ๋๊ทธ๋ฅผ ์ถ๊ฐํ์ต๋๋ค.
-
์ ๊ฑฐ๋ ํค: --oldNewlines, --laxStrings, --oldast, --oldgensym
-
nimsuggest ์ ํธ๋ฆฌํฐ๋ ์ด์ ์ ๋ฐฉ ์ ์ธ๋ฟ๋ง ์๋๋ผ def ์์ฒญ ์ ๊ตฌํ ์์น๋ ํ์ํฉ๋๋ค.
๋ํ ํ์ค ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ๋ง์ ๋ณ๊ฒฝ ์ฌํญ์ด ์ถ๊ฐ๋์์ผ๋ฉฐ ๋ง์ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ต๋๋ค.
์ถ์ฒ : linux.org.ru