Skip to main content

๐Ÿ˜ **Mammuth ์–ธ์–ด** โ€“ ์˜คํ”ˆ์†Œ์ŠคยทApacheโ€ฏ2.0ยท์ดˆ๋ณด์ž๋„ ๋ฐ”๋กœ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

Published 3 min readMarkdown

# ๐Ÿ“Œ ์„œ๋ก  โ€“ โ€œํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๊ฐ€ ๋˜ ๋Š˜์–ด๋‚ฌ๋‹ค๊ณ ?โ€

ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๋ฐฐ์šฐ๊ธฐ ์‹œ์ž‘ํ•œ ์ง€ ์–ผ๋งˆ ์•ˆ ๋œ ์ดˆ๋ณด์ž๋ผ๋ฉด, โ€œ์–ด๋–ค ์–ธ์–ด๋ฅผ ๋ฐฐ์›Œ์•ผ ํ• ๊นŒ?โ€๋ผ๋Š” ์งˆ๋ฌธ์— ๋จธ๋ฆฌ๋ฅผ ์‹ธ๋งค๊ณค ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฏธ ์ˆ˜๋งŽ์€ ์–ธ์–ด๊ฐ€ ์กด์žฌํ•˜๊ณ , ๊ฐ๊ฐ์˜ ํŠน์ง•๊ณผ ์ƒํƒœ๊ณ„๊ฐ€ ๋‹ฌ๋ผ ์„ ํƒ์ด ์‰ฝ์ง€ ์•Š์ฃ . ๊ทธ๋Ÿฐ๋ฐ Mammuth ์–ธ์–ด๊ฐ€ ๋“ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. Apacheโ€ฏ2.0 ๋ผ์ด์„ ์Šค๋กœ ๊ณต๊ฐœ๋œ ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ์ด๋ฉฐ, ํ˜„์žฌ ์ž‘๋™ํ•˜๋Š” ์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ ์ œ๊ณต๋˜๊ณ  ์žˆ์–ด ๋ฐ”๋กœ ์‹ค์Šตํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ๊ธ€์—์„œ๋Š” Mammuth ์–ธ์–ด๊ฐ€ ๋ฌด์—‡์ธ์ง€, ์™œ ์ฃผ๋ชฉ๋ฐ›๊ณ  ์žˆ๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ์ดˆ๋ณด์ž๋„ ์‰ฝ๊ฒŒ ์‹œ์ž‘ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋‹จ๊ณ„๋ณ„๋กœ ์†Œ๊ฐœํ•ฉ๋‹ˆ๋‹ค.


# ๐Ÿงฉ ๋ณธ๋ก 

# 1๏ธโƒฃ Mammuth ์–ธ์–ด๋ž€? โ€“ ํ•ต์‹ฌ ๊ฐœ๋…๊ณผ ์„ค๊ณ„ ๋ชฉํ‘œ

  • ์˜คํ”ˆ์†Œ์ŠคยทApacheโ€ฏ2.0: ๋ˆ„๊ตฌ๋‚˜ ์ž์œ ๋กญ๊ฒŒ ์ฝ”๋“œ๋ฅผ ์ฝ๊ณ , ์ˆ˜์ •ํ•˜๊ณ , ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ์—…ยท๊ฐœ์ธ ๋ชจ๋‘์—๊ฒŒ ์นœํ™”์ ์ธ ๋ผ์ด์„ ์Šค์ž…๋‹ˆ๋‹ค.

  • ๊ฐ„๊ฒฐํ•œ ๋ฌธ๋ฒ•: ๊ธฐ์กด ์–ธ์–ด๋“ค์˜ ๋ณต์žกํ•œ ๋ฌธ๋ฒ•์„ ์ตœ์†Œํ™”ํ•˜๊ณ , ์ง๊ด€์ ์ธ ํ‚ค์›Œ๋“œ์™€ ๋“ค์—ฌ์“ฐ๊ธฐ ๊ธฐ๋ฐ˜ ๊ตฌ์กฐ๋ฅผ ์ฑ„ํƒํ–ˆ์Šต๋‹ˆ๋‹ค.

  • ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๊ธฐ๋ฐ˜: ๋ณ„๋„์˜ ์ปดํŒŒ์ผ ๋‹จ๊ณ„ ์—†์ด ๋ฐ”๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์–ด ํ•™์Šต ๊ณก์„ ์ด ์™„๋งŒํ•ฉ๋‹ˆ๋‹ค.

  • ๋ฉ€ํ‹ฐํŒจ๋Ÿฌ๋‹ค์ž„ ์ง€์›: ์ ˆ์ฐจ์ , ํ•จ์ˆ˜ํ˜•, ๊ฐ์ฒด์ง€ํ–ฅ ์Šคํƒ€์ผ์„ ๋ชจ๋‘ ์ง€์›ํ•ด ๋‹ค์–‘ํ•œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์‚ฌ๊ณ ๋ฐฉ์‹์„ ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ต์‹ฌ ํ‚ค์›Œ๋“œ: Mammuth ์–ธ์–ด, ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด, Apacheโ€ฏ2.0 ๋ผ์ด์„ ์Šค

# 2๏ธโƒฃ ์„ค์น˜์™€ ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ๊ทธ๋žจ โ€“ โ€œHello, Mammuth!โ€

# 2.1 ํ™˜๊ฒฝ ์ค€๋น„

  1. Git ์„ค์น˜ โ†’ git clone https://github.com/yourusername/mammuth.git

  2. Python 3.9+ (์ธํ„ฐํ”„๋ฆฌํ„ฐ๊ฐ€ Python์œผ๋กœ ๊ตฌํ˜„๋˜์–ด ์žˆ์Œ)

  3. ํ”„๋กœ์ ํŠธ ๋ฃจํŠธ์—์„œ pip install -r requirements.txt ์‹คํ–‰

# 2.2 ์ฒซ ์ฝ”๋“œ ์ž‘์„ฑ

mammuth

# hello.mmt

print 'Hello, Mammuth!'

ํ„ฐ๋ฏธ๋„์—์„œ mammuth run hello.mmt ๋ช…๋ น์„ ์ž…๋ ฅํ•˜๋ฉด ํ™”๋ฉด์— Hello, Mammuth! ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค. ๋ณต์žกํ•œ ๋นŒ๋“œ ๊ณผ์ • ์—†์ด ๋ฐ”๋กœ ๊ฒฐ๊ณผ๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์–ด ์ดˆ๋ณด์ž์—๊ฒŒ ํฐ ์žฅ์ ์ž…๋‹ˆ๋‹ค.

# 3๏ธโƒฃ ์ฃผ์š” ๋ฌธ๋ฒ• ์‚ดํŽด๋ณด๊ธฐ โ€“ ์ดˆ๋ณด์ž๊ฐ€ ์•Œ์•„์•ผ ํ•  5๊ฐ€์ง€ ํ•ต์‹ฌ

| ๊ตฌ๋ฌธ | ์„ค๋ช… | ์˜ˆ์‹œ |

|------|------|------|

| ๋ณ€์ˆ˜ ์„ ์–ธ | let ํ‚ค์›Œ๋“œ ์‚ฌ์šฉ, ํƒ€์ž… ์ถ”๋ก  ์ง€์› | let name = 'Mammuth' |

| ์กฐ๊ฑด๋ฌธ | if โ€ฆ else ๊ตฌ์กฐ, ๋“ค์—ฌ์“ฐ๊ธฐ ๊ธฐ๋ฐ˜ ๋ธ”๋ก | if age > 18:
print '์„ฑ์ธ' |

| ๋ฐ˜๋ณต๋ฌธ | whileยทfor ๋‘ ๊ฐ€์ง€ ํ˜•ํƒœ ์ œ๊ณต | for i in 0..5:
print i |

| ํ•จ์ˆ˜ ์ •์˜ | fn ํ‚ค์›Œ๋“œ์™€ ๋งค๊ฐœ๋ณ€์ˆ˜ ์„ ์–ธ | fn add(a, b):
return a + b |

| ํด๋ž˜์Šค | ๊ฐ„๋‹จํ•œ ๊ฐ์ฒด์ง€ํ–ฅ ์ง€์› | class Person:
fn __init__(self, name):
self.name = name |

์œ„ ์˜ˆ์‹œ๋“ค์€ ๋ชจ๋‘ ๋“ค์—ฌ์“ฐ๊ธฐ๋งŒ์œผ๋กœ ๋ธ”๋ก์„ ๊ตฌ๋ถ„ํ•œ๋‹ค๋Š” ์ ์ด ํŒŒ์ด์ฌ๊ณผ ์œ ์‚ฌํ•˜์ง€๋งŒ, ๋” ๊ฐ€๋ฒผ์šด ๋ฌธ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค๋Š” ์ฐจ์ด๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

# 4๏ธโƒฃ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ธฐ์—ฌ ๋ฐฉ๋ฒ• โ€“ ํ•จ๊ป˜ ์„ฑ์žฅํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ

  • Reddit: r/programming ์„œ๋ธŒ๋ ˆ๋”ง์— Mammuth ์–ธ์–ด ์Šค๋ ˆ๋“œ๊ฐ€ ํ™œ๋ฐœํžˆ ์šด์˜ ์ค‘์ด๋ฉฐ, ์ดˆ๋ณด์ž ์งˆ๋ฌธ๋„ ํ™˜์˜ํ•ฉ๋‹ˆ๋‹ค.

  • GitHub Issues: ๋ฒ„๊ทธ ๋ฆฌํฌํŠธยท์ƒˆ ๊ธฐ๋Šฅ ์š”์ฒญ์„ ์ž์œ ๋กญ๊ฒŒ ๋‚จ๊ธธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • Pull Request: ๋ฌธ์„œ ๋ฒˆ์—ญ, ์ƒ˜ํ”Œ ์ฝ”๋“œ ์ถ”๊ฐ€, ์ธํ„ฐํ”„๋ฆฌํ„ฐ ๊ฐœ์„  ๋“ฑ ์ž‘์€ ๊ธฐ์—ฌ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด ๋ณด์„ธ์š”.

์˜คํ”ˆ์†Œ์Šค ํ”„๋กœ์ ํŠธ๋Š” ์‚ฌ์šฉ์ž์™€ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•จ๊ป˜ ์„ฑ์žฅํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ์ž‘์€ ์ฝ”๋“œ๋ฅผ ์ถ”๊ฐ€ํ•ด๋„ ํ”„๋กœ์ ํŠธ ์ „์ฒด์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# 5๏ธโƒฃ ์‹ค์ „ ํ™œ์šฉ ์‚ฌ๋ก€ โ€“ ํ•™์Šตยทํ”„๋กœํ† ํƒ€์ž…ยท๊ต์œก์šฉ

  1. ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ž…๋ฌธ ๊ต์žฌ: ๋ฌธ๋ฒ•์ด ๊ฐ„๋‹จํ•ด ๊ต์œก์šฉ ์˜ˆ์ œ ์ฝ”๋“œ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์ข‹์Šต๋‹ˆ๋‹ค.

  2. ์Šคํฌ๋ฆฝํŠธ ์ž๋™ํ™”: ํŒŒ์ผ ์ฒ˜๋ฆฌยทํ…์ŠคํŠธ ๋ณ€ํ™˜ ๋“ฑ ๊ฐ„๋‹จํ•œ ์ž๋™ํ™” ์ž‘์—…์„ ๋น ๋ฅด๊ฒŒ ๊ตฌํ˜„ ๊ฐ€๋Šฅ.

  3. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์—ฐ์Šต: ํ•จ์ˆ˜ํ˜• ์Šคํƒ€์ผ์„ ์ง€์›ํ•˜๋ฏ€๋กœ ์žฌ๊ท€ยท๊ณ ์ฐจ ํ•จ์ˆ˜ ์—ฐ์Šต์— ์ ํ•ฉํ•ฉ๋‹ˆ๋‹ค.


# ๐Ÿš€ ๊ฒฐ๋ก  โ€“ ์ง€๊ธˆ ๋ฐ”๋กœ Mammuth ์–ธ์–ด๋ฅผ ์ฒดํ—˜ํ•ด ๋ณด์„ธ์š”!

Mammuth ์–ธ์–ด๋Š” ์˜คํ”ˆ์†Œ์ŠคยทApacheโ€ฏ2.0๋ผ๋Š” ํˆฌ๋ช…ํ•œ ๋ผ์ด์„ ์Šค์™€ ์ดˆ๋ณด์ž ์นœํ™”์ ์ธ ์ธํ„ฐํ”„๋ฆฌํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ, ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ๋ฐฐ์šฐ๊ณ  ์‹ถ์€ ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์—ด๋ ค ์žˆ์Šต๋‹ˆ๋‹ค.

1๏ธโƒฃ GitHub์—์„œ ๋ ˆํฌ์ง€ํ† ๋ฆฌ๋ฅผ ํด๋ก ํ•˜๊ณ ,

2๏ธโƒฃ ๊ฐ„๋‹จํ•œ โ€œHello, Mammuth!โ€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•ด ๋ณด์„ธ์š”.

์ž‘์€ ์„ฑ๊ณต ๊ฒฝํ—˜์ด ์Œ“์ด๋ฉด ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๋ณ€์ˆ˜, ์กฐ๊ฑด๋ฌธ, ํ•จ์ˆ˜, ํด๋ž˜์Šค๊นŒ์ง€ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿ‘‰ ์ง€๊ธˆ ๋ฐ”๋กœ ์‹œ์ž‘ํ•˜๊ธฐ

  • GitHub: https://github.com/yourusername/mammuth

  • Reddit ํ† ๋ก : https://reddit.com/r/programming/comments/1pfv290/mammuth_language/

์—ฌ๋Ÿฌ๋ถ„์˜ ์ฒซ ๋ฒˆ์งธ ์ฝ”๋”ฉ ์—ฌ์ •์— Mammuth๊ฐ€ ํ•จ๊ป˜ํ•˜๊ธธ ๋ฐ”๋ž๋‹ˆ๋‹ค. ๊ถ๊ธˆํ•œ ์ ์€ ๋Œ“๊ธ€์ด๋‚˜ ์ด์Šˆ ํŠธ๋ž˜์ปค์— ๋‚จ๊ฒจ ์ฃผ์„ธ์š”. ํ•จ๊ป˜ ์„ฑ์žฅํ•˜๋Š” ์˜คํ”ˆ์†Œ์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์„ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค!

No comments yet. Be the first to comment.

More from this blog