Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ компилятором ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ

Π Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ компилятором ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ

Как ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Ρ‚Π°ΠΊ ΠΈ Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΠ΄Π½ΠΎ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ β€” ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ инструкции языка высокого уровня (ΠΊΠ°ΠΊ C ΠΈΠ»ΠΈ Java) Π² Π±ΠΈΠ½Π°Ρ€Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΏΠΎΠ½ΡΡ‚Π½ΡƒΡŽ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Ρƒ. Π­Ρ‚ΠΎ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ΅ обСспСчСниС, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ΅ для запуска высокоуровнСвых ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ ΠΈ ΠΊΠΎΠ΄ΠΎΠ² выполняСмых Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ Π·Π°Π΄Π°Ρ‡ΠΈ. Для Ρ€Π°Π·Π½Ρ‹Ρ… высокоуровнСвых языков Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Ρ‹ спСцифичныС компиляторы/ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹. НС смотря Π½Π° Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊ компилятор Ρ‚Π°ΠΊ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΡ€Π΅ΡΠ»Π΅Π΄ΡƒΡŽΡ‚ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚Ρƒ ΠΆΠ΅ Ρ†Π΅Π»ΡŒ, ΠΎΠ½ΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ способом выполнСния своСй Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ конвСртирования высокоуровнСвого языка Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹Π΅ инструкции. Π’ этой ΡΡ‚Π°Ρ‚ΡŒΠ΅ ΠΌΡ‹ ΠΏΠΎΠ³ΠΎΠ²ΠΎΡ€ΠΈΠΌ ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠΉ Ρ€Π°Π±ΠΎΡ‚Π΅ ΠΎΠ±ΠΎΠΈΡ… ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΠΌ Π³Π»Π°Π²Π½Ρ‹Π΅ отличия ΠΌΠ΅ΠΆΠ΄Ρƒ компилятором ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ.

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€

ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ транслируСт высокоуровнСвый язык Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ. Когда ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΈΡˆΠ΅Ρ‚ ΠΊΠΎΠ΄ Π½Π° языкС высокого уровня, Ρ‚Π°ΠΊΠΎΠΌ ΠΊΠ°ΠΊ Java, ΠΈ Ρ…ΠΎΡ‡Π΅Ρ‚ Π΅Π³ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ, Ρ‚ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ это ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сдСлано, Π±ΡƒΠ΄Π΅Ρ‚ использован ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ компилятор Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ для Java. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ сначала сканируСт всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ, Π° ΠΏΠΎΡ‚ΠΎΠΌ транслируСт Π΅Π΅ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ ΠΊΠΎΠΌΠΏΡŒΡŽΡ‚Π΅Ρ€Π½Ρ‹ΠΌ процСссором, послС Ρ‡Π΅Π³ΠΎ Π±ΡƒΠ΄ΡƒΡ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.

На ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π±Π°Π·ΠΎΠ²ΠΎΠ΅ ΠΎΡ‡Π΅Ρ€Ρ‚Π°Π½ΠΈΠ΅ процСсса компиляции. Π’ΡƒΡ‚ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° написанная Π½Π° языкС высокого уровня ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΊΠ°ΠΊ Β«Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹ΠΉ ΠΊΠΎΠ΄Β», Π° сконвСртированный называСтся Β«Π˜ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ΄Β».

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€

Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹ Π½Π΅ ΠΎΡ‡Π΅Π½ΡŒ сильно ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ компиляторов. Они Ρ‚Π°ΠΊΠΆΠ΅ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΡŽΡ‚ высокоуровнСвыС языки Π² Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹Π΅ машиной Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ эквивалСнты. ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΊΠΎΠ³Π΄Π° ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ языка высокого уровня, Ρ‚ΠΎ ΠΏΡ€Π΅ΠΆΠ΄Π΅ Ρ‡Π΅ΠΌ ΡΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² ΠΌΠ°ΡˆΠΈΠ½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄, ΠΎΠ½ ΠΊΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ этот ΠΊΠΎΠ΄ Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ язык. КаТдая Ρ‡Π°ΡΡ‚ΡŒ ΠΊΠΎΠ΄Π° интСрпрСтируСтся ΠΈ выполняСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ ΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, ΠΈ Ссли Π² ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎΒ  части Π±ΡƒΠ΄Π΅Ρ‚ Π½Π°ΠΉΠ΄Π΅Π½Π° ошибка, ΠΎΠ½Π° остановит ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ΄Π° Π±Π΅Π· трансляции ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ части ΠΊΠΎΠ΄Π°.

ΠžΡ‡Π΅Ρ€Ρ‚Π°Π½ΠΈΠ΅ процСсса ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ†ΠΈΠΈ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ΅ Π²Ρ‹ΡˆΠ΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ сначала исходный ΠΊΠΎΠ΄ конвСртируСтся Π² ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ, Π° Π·Π°Ρ‚Π΅ΠΌ выполняСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ.

НиТС пСрСчислСны Π³Π»Π°Π²Π½Ρ‹Π΅ отличия ΠΌΠ΅ΠΆΠ΄Ρƒ компилятором ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ:

  • Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Π±Π΅Ρ€Π΅Ρ‚ ΠΎΠ΄Π½Ρƒ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ, транслируСт ΠΈ выполняСт Π΅Π΅, Π° Π·Π°Ρ‚Π΅ΠΌ Π±Π΅Ρ€Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ ΠΈΠ½ΡΡ‚Ρ€ΡƒΠΊΡ†ΠΈΡŽ. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΆΠ΅ транслируСт всю ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ сразу, Π° ΠΏΠΎΡ‚ΠΎΠΌ выполняСт Π΅Π΅.
  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚Ρ‡Π΅Ρ‚ ΠΎΠ± ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ… послС трансляции всСго, Π² Ρ‚ΠΎ врСмя ΠΊΠ°ΠΊ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ Ρ‚Ρ€Π°Π½ΡΠ»ΡΡ†ΠΈΡŽ послС ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠΉ ошибки.
  • ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ большС Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ для Π°Π½Π°Π»ΠΈΠ·Π° ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ языка высокого уровня.
  • Помимо Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ Π½Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΈ Π°Π½Π°Π»ΠΈΠ·, ΠΎΠ±Ρ‰Π΅Π΅ врСмя выполнСния ΠΊΠΎΠ΄Π° компилятора быстрСС Π² сравнСнии с ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ Ρ‚ΡƒΡ‚.

Π’ Ρ‡Π΅ΠΌ Ρ€Π°Π·Π½ΠΈΡ†Π° ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ компилятора ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°?

Π½Π΅Π΄Π°Π²Π½ΠΎ я ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π» всю ΠΊΠ½ΠΈΠ³Ρƒ Dragon (просто для ΡƒΠ΄ΠΎΠ²ΠΎΠ»ΡŒΡΡ‚Π²ΠΈΡ, я Π½Π΅ ΠΏΠ»Π°Π½ΠΈΡ€ΡƒΡŽ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒ фактичСский компилятор), ΠΈ Ρƒ мСня остался этот большой вопрос, висящий Π² ΠΌΠΎΠ΅ΠΉ Π³ΠΎΠ»ΠΎΠ²Π΅.

Ρ‡Π΅ΠΌ отличаСтся рСализация компилятора ΠΎΡ‚ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€Π°?

для мСня компилятор состоит ΠΈΠ·:

  • лСксСр
  • Parser (ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ строит синтаксичСскоС Π΄Π΅Ρ€Π΅Π²ΠΎ)
  • Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΌΠ΅ΠΆΡƒΡ‚ΠΎΡ‡Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 3-адрСсный ΠΊΠΎΠ΄)
  • ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ всС эти ΡΡƒΠΌΠ°ΡΡˆΠ΅Π΄ΡˆΠΈΠ΅ Π²Π΅Ρ‰ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ссли Π²Ρ‹ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ : -)
  • ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ «ΡΠ±ΠΎΡ€ΠΊΡƒ» ΠΈΠ»ΠΈ «ΡΠΎΠ±ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄» ΠΈΠ· ΠΊΠΎΠ΄Π° адрСса 3.

Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ, ΠΎΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ Ρ‚Π°ΠΊΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΎΡ‚ ΠΆΠ΅ лСксСр ΠΈ парсСр, Ρ‡Ρ‚ΠΎ ΠΈ компилятор.
Но Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π΄Π΅Π»Π°Π΅Ρ‚ послС этого?

  • Он «Ρ‡ΠΈΡ‚Π°Π΅Ρ‚» Π΄Π΅Ρ€Π΅Π²ΠΎ синтаксиса ΠΈ выполняСт Π΅Π³ΠΎ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ? (Π²Ρ€ΠΎΠ΄Π΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ инструкции ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΡƒΠ·Π΅Π» Π² Π΄Π΅Ρ€Π΅Π²Π΅, Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ — это ΠΎΠ΄ΠΈΠ½ большой ΠΎΠ±Ρ…ΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²Π° плюс ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡ‚ΡŒΡŽ для стСка Π²Ρ‹Π·ΠΎΠ²ΠΎΠ²) (ΠΈ Ссли Π΄Π°, Ρ‚ΠΎ ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ? Π― надСюсь, Ρ‡Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π»ΡƒΡ‡ΡˆΠ΅, Ρ‡Π΅ΠΌ ΠΎΠ³Ρ€ΠΎΠΌΠ½Ρ‹ΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ‚ΠΎΡ€ switch, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ провСряСт, ΠΊΠ°ΠΊΠΎΠΉ Ρ‚ΠΈΠΏ ΡƒΠ·Π»Π° это)

  • Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½ ΠΊΠΎΠ΄ адрСса 3 ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ это? (Ссли Π΄Π°, Ρ‚ΠΎ ΠΊΠ°ΠΊ это ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ? ΠžΠΏΡΡ‚ΡŒ ΠΆΠ΅, я ΠΈΡ‰Ρƒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π±ΠΎΠ»Π΅Π΅ элСгантноС, Ρ‡Π΅ΠΌ заявлСниС ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ Π΄Π»ΠΈΠ½ΠΎΠΉ Π² милю)

  • Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Π»ΠΈ ΠΎΠ½ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ собствСнный ΠΊΠΎΠ΄, Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ Π² ΠΏΠ°ΠΌΡΡ‚ΡŒ ΠΈ заставляСт Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ? (Π² этот ΠΌΠΎΠΌΠ΅Π½Ρ‚ я Π΄ΡƒΠΌΠ°ΡŽ это большС Π½Π΅ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€, Π° скорСС JIT-компилятор)

ΠΊΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ понятиС «Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина» Π²ΠΌΠ΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ? Для Ρ‡Π΅Π³ΠΎ Π²Ρ‹ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΌΠ°ΡˆΠΈΠ½Ρƒ Π½Π° языкС? (Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Ρ‚ΡŒ ясным ΠΎ ΠΌΠΎΠ΅ΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅ нСвСТСства, для мСня Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ машина-VMWare, я понятия Π½Π΅ имСю, ΠΊΠ°ΠΊ концСпция VM примСняСтся ΠΊ языкам программирования / ΠΈΡΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°ΠΌ).

Как Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π²ΠΈΠ΄Π΅Ρ‚ΡŒ, ΠΌΠΎΠΉ вопрос довольно ΡˆΠΈΡ€ΠΎΠΊ. Π― Π² основном ΠΈΡ‰Ρƒ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, ΠΊΠ°ΠΊΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, Π½ΠΎ Π² основном, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сначала ΠΏΠΎΠ½ΡΡ‚ΡŒ большиС ΠΊΠΎΠ½Ρ†Π΅ΠΏΡ†ΠΈΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ Ρ€Π°Π·ΠΎΠ±Ρ€Π°Ρ‚ΡŒΡΡ Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ это Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. МнС Π½ΡƒΠΆΠ½Ρ‹ ΡƒΡ€ΠΎΠ΄Π»ΠΈΠ²Ρ‹Π΅, Π³Ρ€ΡƒΠ±Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΠΈ. ΠžΡ‡Π΅Π²ΠΈΠ΄Π½ΠΎ, Ρ‡Ρ‚ΠΎ это скорСС поиск ссылок Π½Π° Π²Π΅Ρ‰ΠΈ для чтСния, Π° Π½Π΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²Ρ‹ ΠΎΡ‚Π²Π΅Ρ‚ΠΈΡ‚Π΅ Π½Π° всС эти Π΄Π΅Ρ‚Π°Π»ΠΈ здСсь.

спасибо!
Π”Π°Π½ΠΈΡΠ»ΡŒ!—1—>


EDIT: Бпасибо Π·Π° ваши ΠΎΡ‚Π²Π΅Ρ‚Ρ‹ Π΄ΠΎ сих ΠΏΠΎΡ€. Π― понял, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠΉ Ρ‚ΠΈΡ‚ΡƒΠ» Π²Π²ΠΎΠ΄ΠΈΡ‚ Π² Π·Π°Π±Π»ΡƒΠΆΠ΄Π΅Π½ΠΈΠ΅. Π― понимаю «Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΡƒΡŽ» Ρ€Π°Π·Π½ΠΈΡ†Ρƒ ΠΌΠ΅ΠΆΠ΄Ρƒ компилятором ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ.

ΠšΡ‚ΠΎ я? глядя Π½Π° это Ρ€Π°Π·Π½ΠΈΡ†Π°, ΠΊΠ°ΠΊ Π²Ρ‹ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΏΡ€ΠΎΡ‚ΠΈΠ² компилятора.
Π’Π΅ΠΏΠ΅Ρ€ΡŒ я понимаю, ΠΊΠ°ΠΊ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ компилятор, вопрос Π² Ρ‚ΠΎΠΌ, Ρ‡Π΅ΠΌ отличаСтся ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ ΠΎΡ‚ этого.

Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€: VB6 явно являСтся ΠΊΠ°ΠΊ компилятором, Ρ‚Π°ΠΊ ΠΈ ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€ΠΎΠΌ. Π’Π΅ΠΏΠ΅Ρ€ΡŒ я понимаю Ρ‡Π°ΡΡ‚ΡŒ компилятора. Однако я Π½Π΅ ΠΌΠΎΠ³Ρƒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ запускС Π²Π½ΡƒΡ‚Ρ€ΠΈ IDE ΠΎΠ½ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ‚ΡŒ ΠΌΠ½Π΅ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡƒ Π² любой ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ Ρ‚ΠΎΡ‡ΠΊΠ΅, ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ΠΈ Π²ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ с Π½ΠΎΠ²Ρ‹ΠΌ ΠΊΠΎΠ΄. Π­Ρ‚ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ ΠΊΡ€ΠΎΡˆΠ΅Ρ‡Π½Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, это Π½Π΅ Ρ‚ΠΎΡ‚ ΠΎΡ‚Π²Π΅Ρ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ я ΠΈΡ‰Ρƒ. Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΊΠ°ΠΊ я объясняю Π½ΠΈΠΆΠ΅, Ρ‡Ρ‚ΠΎ происходит послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Ρƒ мСня Π΅ΡΡ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ€Π°Π·Π±ΠΎΡ€Π°. ΠšΠΎΠΌΠΏΠΈΠ»ΡΡ‚ΠΎΡ€ Π±ΡƒΠ΄Π΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΈΠ· Π½Π΅Π³ΠΎ Π½Π°» Ρ†Π΅Π»Π΅Π²ΠΎΠΌ » языкС. Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Ρ‡ΠΈΠΊ?

Бпасибо Π·Π° ΠΏΠΎΠΌΠΎΡ‰ΡŒ!

21