Программалоо тилин кантип түзүү керек: 15 кадам (сүрөттөр менен)

Мазмуну:

Программалоо тилин кантип түзүү керек: 15 кадам (сүрөттөр менен)
Программалоо тилин кантип түзүү керек: 15 кадам (сүрөттөр менен)

Video: Программалоо тилин кантип түзүү керек: 15 кадам (сүрөттөр менен)

Video: Программалоо тилин кантип түзүү керек: 15 кадам (сүрөттөр менен)
Video: Кантип Windows 10 орнотуу керек. Башынан аягына чейин. 2024, Апрель
Anonim

Көптөгөн адамдар күн сайын колдонгон программалоо тилдеринде кыйынчылыктарга же нааразычылыктарга дуушар болушат. Кээ бирөөлөр абстракттуу түрдө иштөөнү каалашат, башкалары "стандартка" ылайык келген функцияларды жактырышпайт. Сиз IT профессионалы же жөн эле хобби болсоңуз дагы, көп жолу сиз жаңы программалоо тилин түзүүнү каалап калышы мүмкүн.

Кадамдар

Программалоо тилин түзүү 1 -кадам
Программалоо тилин түзүү 1 -кадам

Кадам 1. Технология менен тааныш бол

Эгерде сиз компьютерди колдонууну билбесеңиз, программалоо тилин түзө албайсыз.

Программалоо тилин түзүү 2 -кадам
Программалоо тилин түзүү 2 -кадам

Кадам 2. Терминология менен тааныш болуңуз

Компилятор жазуучулар көбүнчө тааныш эмес терминдерди колдонушат. Улантуудан мурун компиляторлорду окуңуз. Сиз билишиңиз керек болгон нерсенин бардыгын билиңиз.

Программалоо тилин түзүү 3 -кадам
Программалоо тилин түзүү 3 -кадам

3 -кадам. Сиздин тилиңиз кандай көйгөйдү чечип жатканын чечиңиз

Бул доменге тиешелүү көйгөйдү чечүүбү же жалпы максаттагы тилби?

Программалоо тилин түзүү 4 -кадам
Программалоо тилин түзүү 4 -кадам

4 -кадам. Тилиңиздин семантикасы жана анын түшүнүктөрү жөнүндө ойлонуп көрүңүз

  • Көрсөткүчкө түз кирүүгө уруксат бересизби же жокпу?
  • Сиздин тилиңиздин маалымат түрлөрү кандай?
  • Бул статикалык же динамикалык тилби?
  • Сиздин эс моделиңиз кандай? Сиз таштанды жыйноочу же кол менен эс башкарууну колдоносузбу? (Эгер таштанды жыйноочу колдонсоңуз, бирин жазууга даярданыңыз же бар тилди өзүңүзгө ылайыкташтырыңыз.)
  • Параллелдүүлүктү кантип чечүү керек? Сиз Линда же актер модели сыяктуу жөнөкөй жип/кулпулоо моделин же татаал нерсени колдоносузбу? (Бүгүнкү күндөн баштап компьютерлерде бир нече ядро бар.)
  • Тилге камтылган примитивдүү функциялар барбы же бардыгы китепканадан чыгабы?
  • Сиздин тилдин парадигмасы же парадигмасы кандай? Функционалдык? Объектке багытталган? Прототип (JavaScript сыяктуу)? Аспектке багытталган? Калыпка багытталганбы? Же таптакыр жаңы нерсе?
  • Сиздин тилиңиз учурдагы китепканалар жана тилдер менен кантип иштешет (негизинен C)? Эгер сиз доменге тиешелүү тилди куруп жатсаңыз, бул маанилүү.
  • Акырында, бул суроолордун кээ бир жоопторуна экинчи кадам жооп берет жана кийинки кадамга жооп берүүгө жардам берет.
Программалоо тилин түзүү 5 -кадам
Программалоо тилин түзүү 5 -кадам

Кадам 5. Кимдир бирөө сиздин тилиңиз менен аткаргысы келген конкреттүү тапшырмаларды ойлонуп көрүңүз

Мисалы, 'алар роботту линияны ээрчитип барууну каалашат' же 'аларда салыштырмалуу көчмө рабочий программаларды түзүүнү каалашат' же 'алар менен веб -тиркемелерди түзүүнү каалашат'.

Программалоо тилин түзүү 6 -кадам
Программалоо тилин түзүү 6 -кадам

Кадам 6. Жогорудагы мисалдар үчүн синтаксистик идеялар менен эксперимент жүргүзүңүз (тилдин тексти)

Тилиңизди контекстсиз тил категориясында же анын ичиндеги нерселерден сактаңыз. Сиздин талдоочу генератор жана аны кийинчерээк баалайсыз

Программалоо тилин түзүү 7 -кадам
Программалоо тилин түзүү 7 -кадам

Кадам 7. Синтаксистин расмий грамматикасын жазыңыз

Программалоо тилин түзүү 8 -кадам
Программалоо тилин түзүү 8 -кадам

Кадам 8. Тил чечмеленет же которулат

Которулган дүйнөдө сиздин колдонуучу адатта программаңызды редактордо түзөтүп, аны түздөн -түз котормочуда иштетет; компиляцияланган дүйнөдө болсо, сиздин колдонуучу программаңызды түзөтөт, аны компиляциялайт, натыйжада аткарылуучу файлды бир жерге сактап, иштетет.

Программалоо тилин түзүү 9 -кадам
Программалоо тилин түзүү 9 -кадам

Кадам 9. Алдыңкы учу сканерди жана талдоочуну жазыңыз же сизге жардам бере турган куралды табыңыз

Ошондой эле, сиздин компилятор/котормочу колдонуучуну ката программалар жана синтаксистик каталар жөнүндө кантип эскертет деп ойлон

Программалоо тилин түзүү 10 -кадам
Программалоо тилин түзүү 10 -кадам

Кадам 10. Объект кодун же аралык өкүлчүлүгүн жазуу үчүн талдоочу маалыматты колдонуңуз

Талдоочу AST түзүп, андан кийин үч дарек кодун же анын чоң бир тууганы SSA аркылуу ASTтен объектиңиздин кодун түзүп, функцияларыңызды, глобалдык өзгөрмөлөрдү ж.

Ошондой эле, тилиңизге жараша, класстарыңыз үчүн виртуалдык көрсөткүч таблицаларын же маалымат таблицаларын түзүүнү каалашыңыз мүмкүн (чагылтууну же RTTIди колдоо үчүн)

Программалоо тилин түзүү 11 -кадам
Программалоо тилин түзүү 11 -кадам

Кадам 11. Бардыгын бириктире турган аткаруучу же код генераторун жазыңыз

Программалоо тилин түзүү 12 -кадам
Программалоо тилин түзүү 12 -кадам

Кадам 12. Тилди текшерүү үчүн көптөгөн тест программаларын жазыңыз

Компиляторуңуз сиздин аныктамаңыздын ичиндегилердин бардыгын кабыл алып, анын сыртындагылардын бардыгын четке кагып жатканын көрүү үчүн формалдуу грамматикаңыздын түйшүгүн баса турган программаларды түзгүңүз келет

Программалоо тилин түзүү 13 -кадам
Программалоо тилин түзүү 13 -кадам

Кадам 13. Колдонуучу өз программаларын кантип оңдой турганын карап көрүңүз

Программалоо тилин түзүү 14 -кадам
Программалоо тилин түзүү 14 -кадам

Step 14. Эгерде сиздин тилиңиз стандарттык китепкананы колдонсо, сиз аны жазгыңыз келет

Эгер керек болсо, таштанды жыйноочу же башка иштөө убактысы менен бирге.

Тактап айтканда, эгер сиз компилятор жазсаңыз, колдонуучу кодун иштетүүнү баштоо үчүн операциялык система аткара турган код керек болот (мисалы, бардык глобалдык өзгөрмөлөрдү бөлүштүрүү)

Программалоо тилин түзүү 15 -кадам
Программалоо тилин түзүү 15 -кадам

15 -кадам. Өзүңүздүн тилиңизди, анын спецификациясын жана анда эмне кыла ала турганыңыздын айрым мисалдарын жарыялаңыз

Учурдагы китепканалар, тилдер менен кантип интеграция болооруңузду жана иштөө убактысынын өзгөчөлүктөрүн жана/же стандарттык китепкананы кантип колдонууну документтештирүүнү унутпаңыз

Видео - Бул кызматты колдонуу менен, кээ бир маалыматтар YouTube менен бөлүшүлүшү мүмкүн

Кеңештер

  • Тилиңизди иштеп чыгуудан баштаңыз жана эч кандай код жазбаңыз, сиз канааттанмайынча жана дизайныңызга байланыштуу суроолорго же көйгөйлөрдүн баарына (же көпчүлүгүнө) жооп бергенге чейин, дизайнды эртерээк өзгөртүү оңой.
  • Компиляторуңуз/котормочуңуз үчүн максаттуу платформаңызды (операциялык тутумду жана китепканаларды) билиңиз, анткени сиз аны колдонуп, аны башкарасыз.

Эскертүүлөр

  • Эгер сизге чын эле жаңы тил керек болсо, ойлонуп көрүңүз жана сиздин тилде башка тилдерде жок нерселер бар (Бул өзгөчөлүктөрдүн жыйындысы же бир өзгөчөлүк болушу мүмкүн).
  • Эгерде сиз эмне кылып жатканыңызды билбесеңиз, тилдерди жазуу кыйын. Бул үчүн да көп практика керек.
  • Тил дизайнына бир аз убакыт бөлүүгө даярдангыла, анткени компиляторду жазгандан кийин жана дизайн пунктунан өткөндөн кийин тилди өзгөртүүгө мүмкүнчүлүк болбойт.
  • Өзүңүздүн өзгөчөлүктөрүңүздү бир нече тилдердин биримдигине негиздөөгө аракет кылбаңыз, мисалы, сиздин тилиңиз X, Y жана Z тилдеринин биримдиги болот деп айтуу. Тарых бизге мындай жол менен түзүлгөн тилдер эч качан ийгиликке жетпесин көрсөткөн, же бардыгы С негизделген нерсенин ордуна PL/1 программалашмак.

Сунушталууда: