рдпрд╣ рд▓реЗрдЦ
"рдХреНрдпреЛрдВ рд░реИрдХреЗрдЯ рд╣реИ?" рд▓рд┐рд╕реНрдк рдХреНрдпреЛрдВ? тАЭ рдореИрдВрдиреЗ
рд░реИрдХреЗрдЯ рдХреА рдЦреЛрдЬ рдХреЗ рд▓рдЧрднрдЧ рдПрдХ рд╕рд╛рд▓ рдмрд╛рдж рд▓рд┐рдЦрд╛ред рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рдореИрдВ рд▓рд┐рд╕реНрдк рдкрд░ рдбрд╛рд▓реА рдЧрдИ рдкреНрд░рд╢рдВрд╕рд╛ рдХреЛ рд╣рд░ рддрд░рдл рд╕реЗ рдирд╣реАрдВ рд╕рдордЭ рд╕рдХрд╛ред рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдерд╛ рдХрд┐ рдореБрдЭреЗ рдХреНрдпрд╛ рд╕реЛрдЪрдирд╛ рд╣реИред рдпрд╣ рдХреИрд╕реЗ рд╕рдордЭреЗрдВ рдХрд┐ рд▓рд┐рд╕реНрдк рдЕрдВрддрддрдГ
"рдЧрд╣рд░реА рдЖрддреНрдордЬреНрдЮрд╛рди" рдХрд╛ рдХрд╛рд░рдг рд╣реЛрдЧрд╛ред рдареАрдХ рд╣реИ, рднрд╛рдИ, рддреБрдо рдХрд╣рддреЗ рд╣реЛред
рдореЗрд░рд╛ рдПрдХ рдЖрд╕рд╛рди рд╕рд╡рд╛рд▓ рдерд╛:
рдХреНрдпрд╛ рдЙрдкрдпреЛрдЧ рд╣реИ? рдПрдХ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ, рдореИрдВрдиреЗ рдЗрд╕рдХрд╛ рдЙрддреНрддрд░ рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА рдФрд░ рдЙрди рдХрд╛рд░рдгреЛрдВ рдХреЛ рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рдмрддрд╛рдпрд╛ рдХрд┐ рдХреЛрдИ рдХреНрдпреЛрдВ рд▓рд┐рд╕реНрдк рдпрд╛ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рд░реИрдХреЗрдЯ рд╕реАрдЦрдирд╛ рдЪрд╛рд╣реЗрдЧрд╛ред
рдореИрдВрдиреЗ рдПрдХ рдиреМрд╕рд┐рдЦрд┐рдпрд╛ рдХреЗ рд░реВрдк рдореЗрдВ рд░реИрдХреЗрдЯ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдореВрд▓реНрдпрд╡рд╛рди
рдиреМ рднрд╛рд╖рд╛ рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреА рдПрдХ рд╕реВрдЪреА рддреИрдпрд╛рд░ рдХреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕реБрд╡рд┐рдзрд╛ рд╕рдВрдЦреНрдпрд╛ 5 "рдирдИ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдирд┐рд░реНрдорд╛рдг" рд╣реИред рдЗрд╕ рдкрджреНрдзрддрд┐ рдХреЛ
рднрд╛рд╖рд╛-рдЙрдиреНрдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдпрд╛
JOP рднреА рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рддрдм рд╕реЗ, IOP рд░реИрдХреЗрдЯ рдХрд╛ рдореЗрд░рд╛ рдкрд╕рдВрджреАрджрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрди рдЧрдпрд╛ рд╣реИ, рдФрд░ рдореИрдВрдиреЗ рдСрдирд▓рд╛рдЗрди рдХрд┐рддрд╛рдм
рдмреНрдпреВрдЯреАрдлреБрд▓ рд░реИрдХреЗрдЯ рдореЗрдВ рдЕрдкрдиреА рдкреНрд░рд╢рдВрд╕рд╛ рд╕рд╛рдЭрд╛ рдХреА, рдЬреЛ ROP рддрдХрдиреАрдХ рдФрд░ рд░реИрдХреЗрдЯ рдЯреВрд▓ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрддрд╛рддрд╛ рд╣реИред
рдореЗрд░реЗ рдХрд╛рдо рдореЗрдВ рдПрдХ рдЙрджрд╛рд╣рд░рдг
рдкрд░рд╛рдЧ рд╣реИ ред рдореИрдВрдиреЗ рдЕрдкрдиреА рдСрдирд▓рд╛рдЗрди рдкреБрд╕реНрддрдХреЛрдВ рдХреА рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЯрд╛рдЗрдкреЛрдЧреНрд░рд╛рдлреА рдХреЗ рд▓рд┐рдП рдЗрд╕ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рд▓рд┐рдЦрд╛ред рдкрд░рд╛рдЧ рдореЗрдВ, рдкрд┐рдЫрд▓реЗ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреЛ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреНрд░рдорд╛рджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ:
#lang pollen тЧКlink["https://beautifulracket.com/appendix/why-racket-why-lisp.html#so-really-whats-in-it-for-me-now"]{ }, Racket. , тДЦ 5 тАФ ┬л ┬╗. тЧКem{- }, тЧКem{}.
рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг
рдмреНрд░реИрдЧ рд╣реИ , рдЬреЛ рдПрдХ рдкрд╛рд░реНрд╕рд░ рдЬрдирд░реЗрдЯрд░ (
lex/yacc
рдХреА рд╢реИрд▓реА рдореЗрдВ) рд╣реИ, рдЬреЛ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд▓рд┐рдП
рдмреАрдПрдирдПрдл рд╡реНрдпрд╛рдХрд░рдг рд▓реЗрддрд╛ рд╣реИред
Bf рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рд░рд▓ рдЙрджрд╛рд╣рд░рдг:
#lang brag bf-program : (bf-op | bf-loop)* bf-op : ">" | "<" | "+" | "-" | "." | "," bf-loop : "[" (bf-op | bf-loop)* "]"
рджреЛрдиреЛрдВ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рд░реИрдХреЗрдЯ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рд░реИрдХреЗрдЯ рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рдпрд╛ рд░реИрдХреЗрдЯ рдЖрдИрдбреАрдИ (DrRacket) рдХреЗ рдЕрдВрджрд░ рдЪрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рдореБрдЦреНрдп рдореБрджреНрджреЗ
рдФрд░ рдлрд┐рд░ рднреА ... рдЗрд╕ рддрдереНрдп рдХреЗ рдмрд╛рд╡рдЬреВрдж рдХрд┐ рдкреБрд╕реНрддрдХ рдиреЗ рд╣рдЬрд╛рд░реЛрдВ рд▓реЛрдЧреЛрдВ рдХреЛ рд░реИрдХреЗрдЯ рдХреА рдЦреЛрдЬ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рд╣реИ, рдпрд╣ рдХрднреА-рдХрднреА рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдореИрдВ рд▓рд┐рд╕реНрдк рдкреНрд░рд╢рдВрд╕рдХреЛрдВ рдХреЗ рд╕рдорд╛рди рддреНрд╡рд░рд┐рдд рдХрджрдо рдкрд░ рдЪрд▓рддрд╛ рд╣реВрдВ рдХрд┐ рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░ рдЖрд▓реЛрдЪрдирд╛ рдХреА рдереАред
рдЕрдЧрд░ рдПрдирдУрдкреА рдЗрддрдирд╛ рдардВрдбрд╛ рд╣реИ, рддреЛ рдХреБрдЫ рджрд┐рди рдХрд┐рддрд╛рдм рдкрдврд╝рдиреЗ рдореЗрдВ рдХреНрдпреЛрдВ рдЧреБрдЬрд╛рд░реЗрдВред рд╣реИ рди? рдореИрдВ рдЖрдЧреЗ рдХреА рд╣рд▓рдЪрд▓ рдХреЗ рдмрд┐рдирд╛, рд╕рдВрдХреНрд╖реЗрдк рдореЗрдВ рд╕рдм рдХреБрдЫ рд╕рдордЭрд╛ рд╕рдХрддрд╛ рд╣реВрдВред рджреЛ рд╕рд░рд▓ рд╕рд╡рд╛рд▓реЛрдВ рдХреЗ рдЬрд╡рд╛рдм рджрд┐рдП рдЬрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
- рднрд╛рд╖рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдХреМрди рд╕реА рд╕рдорд╕реНрдпрд╛рдПрдВ рд╕рдмрд╕реЗ рдЙрдкрдпреБрдХреНрдд рд╣реИрдВ?
- рднрд╛рд╖рд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рд░реИрдХреЗрдЯ рдХреНрдпреЛрдВ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рд╣реИ?
рджреВрд╕рд░рд╛ рдкреНрд░рд╢реНрди рд╕рд░рд▓ рд╣реИред рдкрд╣рд▓рд╛ рдирд╣реАрдВ рд╣реИред рдореБрдЭрд╕реЗ рдХрдИ рдмрд╛рд░ рдкреВрдЫрд╛ рдЧрдпрд╛ред рдореИрдВрдиреЗ рдЕрдХреНрд╕рд░ рдиреНрдпрд╛рдпрд╛рдзреАрд╢ рдкреЙрдЯрд░ рд╕реНрдЯреАрд╡рд░реНрдЯ рдХреЗ
рдкреНрд░рд╕рд┐рджреНрдз рд╡рд╛рдХреНрдпрд╛рдВрд╢ рдХрд╛ рд╣рд╡рд╛рд▓рд╛ рджрд┐рдпрд╛: рдЖрдк рдЗрд╕реЗ рджреЗрдЦрддреЗ рд╣реА рд╕рдордЭ рдЬрд╛рдПрдВрдЧреЗред рдЙрддреНрддрд░ рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд░реБрдЪрд┐ рд░рдЦрддреЗ рд╣реИрдВред рд▓реЗрдХрд┐рди рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдЬреЛ рдкрдХреНрд╖ рдореЗрдВ рд╣реИрдВ рдФрд░ рд╡реЗ рдареЛрд╕ рддрд░реНрдХ рд╕реБрдирдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред
рдЗрд╕рд▓рд┐рдП, рдореИрдВ рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рдзреНрдпрд╛рди рд░рдЦреЗрдВ рдХрд┐ рдореИрдВ рдХрдВрдкреНрдпреВрдЯрд░ рд╡рд┐рдЬреНрдЮрд╛рди рдХрд╛ рдкреНрд░реЛрдлреЗрд╕рд░ рдирд╣реАрдВ рд╣реВрдВ рдФрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рдмрд▓реНрдХрд┐, рдореИрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рд░реИрдХреЗрдЯ рдФрд░ рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛рдУрдВ (рдбреАрдПрд╕рдПрд▓) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ: рдореЗрд░рд╛ рджреИрдирд┐рдХ рдХрд╛рдо рдЙрди рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдореИрдВ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдкрд╣рд▓реБрдУрдВ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░реВрдВрдЧрд╛ред
рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЙрддреНрддрд░
- JOP рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбрд┐рдЬрд╝рд╛рдЗрди рд╡рд┐рдзрд┐ рд╣реИред рдпрд╣ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИ рдЬрд┐рдирдореЗрдВ рдЕрдзрд┐рдХрддрдо рд╕рдЯреАрдХрддрд╛ рдмрдирд╛рдП рд░рдЦрддреЗ рд╣реБрдП рдиреНрдпреВрдирддрдо рдЕрдВрдХрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ ред рдиреНрдпреВрдирддрдо рд╕рдВрдХреЗрддрди рдХрд╛ рдЕрд░реНрде рд╣реИ рдХреЗрд╡рд▓ рдЕрдиреБрдордд рд╕рдВрдХреЗрддрдиред рдФрд░ рдХреБрдЫ рдирд╣реАрдВред рдЕрдзрд┐рдХрддрдо рд╕рдЯреАрдХрддрд╛, рдЕрд░реНрдерд╛рдд рдЗрд╕ рдЕрдВрдХрди рдХрд╛ рдЕрд░реНрде, рдареАрдХ рд╡рд╣реА рд╣реИ рдЬреЛ рдЖрдк рдХрд╣рддреЗ рд╣реИрдВред рдХреЛрдИ рдЕрд╕реНрдкрд╖реНрдЯрддрд╛ рдпрд╛ рдкреИрдЯрд░реНрди рдирд╣реАрдВред IOP рдХреЛ рдХреБрдЫ рдФрд░ рдирд╣реАрдВ рдЬреИрд╕рд╛ рдорд┐рд▓рддрд╛ рд╣реИред
(рдЕрдзреАрд░ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╢реНрд░реЗрдгрд┐рдпреЛрдВ рдкрд░ рдЖрдЧреЗ рдмрдврд╝ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдирдУрдкреА рд╕реЗ рд▓рд╛рднрд╛рдиреНрд╡рд┐рдд рд╣реЛрдВрдЧреЗ)ред
- рд░реИрдХреЗрдЯ рдЕрдкрдиреЗ рдореИрдХреНрд░реЛ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдХрд╛рд░рдг OOP рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИ ред рд╡реЗ рд╕рдВрдХрд▓рдХ рд╢реИрд▓реА рдореЗрдВ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ, рдХреЛрдб рд░реВрдкрд╛рдВрддрд░рдг рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддреЗ рд╣реИрдВред рд░реИрдХреЗрдЯ рдореИрдХреНрд░реЛ рд╕рд┐рд╕реНрдЯрдо рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмреЗрд╣рддрд░ рд╣реИред
рдЗрд╕ рдмрд┐рдВрджреБ рдкрд░, рд▓реЗрдЦ рдХреЗ рдЖрдзреЗ рдкрд╛рдардХ рдореЗрд░реЗ рд╢реЛрдз рдХреА рдЖрд▓реЛрдЪрдирд╛ рдХрд░рддреЗ рд╣реБрдП рдЕрдирд╛рдо рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рдкреНрд░рдХрд╛рд╢рд┐рдд рдХрд░рдирд╛ рдЪрд╛рд╣реЗрдВрдЧреЗред рд▓реЗрдХрд┐рди рдХреГрдкрдпрд╛ рдзреНрдпрд╛рди рд░рдЦреЗрдВ: рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рдЬреАрддрд╛ред рдЬреЗрдУрдкреА рдФрд░ рд░реИрдХреЗрдЯ рдиреЗ рдореЗрд░реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдЙрддреНрдкрд╛рджрдХрддрд╛ рдХреЛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдмрдврд╝рд╛рдпрд╛ рд╣реИред рдореБрдЭреЗ рдпрд╣ рдЬреНрдЮрд╛рди рд╕рд╛рдЭрд╛ рдХрд░рдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛ рд░рд╣реА рд╣реИ рддрд╛рдХрд┐ рдЖрдк рднреА рдЗрди рд▓рд╛рднреЛрдВ рдХрд╛ рд▓рд╛рдн рдЙрдард╛ рд╕рдХреЗрдВред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдЦреБрд╢реА рд╣реЛрдЧреА рдЕрдЧрд░ рдпреЗ рдЙрдкрдХрд░рдг рдореЗрд░реЗ рдЧреБрдкреНрдд рд╣рдерд┐рдпрд╛рд░ рдмрдиреЗ рд░рд╣реЗрдВрдЧреЗред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдореИрдВ рд╕рдмрд╕реЗ рдЕрдзрд┐рдХ рдЙрддреНрдкрд╛рджрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ 0.01% рдореЗрдВ рд░рд╣реВрдВрдЧрд╛, рд╢реЗрд╖ 99.9% рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рдФрд░ рд▓рд╛рднрджрд╛рдпрдХ рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░реВрдВрдЧрд╛ред
рддреЛ рдЪреБрдирд╛рд╡ рдЖрдкрдХрд╛ рд╣реИред
рд▓рдВрдмрд╛ рдЬрд╡рд╛рдм
рдпрджрд┐ рдЖрдк рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдкреНрд░рд╢реНрдиреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрддреЗ рд╣реИрдВ, рддреЛ рд╡реЗ рдПрдХ рдореЗрдЯрд╛-рдкреНрд░рд╢реНрди рдкрд░ рдЖрддреЗ рд╣реИрдВ: рдкрд░рдорд╛рдгреБ рд╣рдерд┐рдпрд╛рд░реЛрдВ рдХреЗ рд▓рд╛рднреЛрдВ рдХреА рд╡реНрдпрд╛рдЦреНрдпрд╛ рдХрд░рдирд╛ рдХреНрдпреЛрдВ рдореБрд╢реНрдХрд┐рд▓ рд╣реИ?
рд╢рд╛рдпрдж рдЬрдм рд╣рдо
рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ
рд╣реИрдВ , рддреЛ рдпрд╣ рд╢рдмреНрдж рдЙрдореНрдореАрджреЛрдВ рд╕реЗ рднрд░рд╛ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рднрд╛рд╖рд╛ рдХреНрдпрд╛ рд╣реИ рдФрд░ рдпрд╣ рдХреНрдпрд╛ рдХрд░рддреА рд╣реИред рдЬрдм рд╣рдо рдЗрд╕ рдкреНрд░рддрд┐рдорд╛рди рдХреЗ рдЕрдВрджрд░ рд╣реИрдВ, рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╕рдордЭрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рд╣реИред
рд▓реЗрдХрд┐рди рдпрджрд┐ рдЖрдк рдкреИрдорд╛рдиреЗ рдХреЛ рдХрдо рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдорд╛рдирд╡-рдХрдВрдкреНрдпреВрдЯрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреА рд╡реНрдпрд╛рдкрдХ рд╢реНрд░реЗрдгреА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдорд╛рдирддреЗ рд╣реИрдВ, рддреЛ рдУрдУрдкреА рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд▓рд╛рднреЛрдВ рдХреЛ рджреЗрдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИред рддреЛ рдЪрд▓рд┐рдП рдХрд░рддреЗ рд╣реИрдВред
рд╕рд╛рдорд╛рдиреНрдп рднрд╛рд╖рд╛ рдФрд░ рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛рдПрдБ
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдереЛрдбрд╝реА рд╢рдмреНрджрд╛рд╡рд▓реАред рднрд╛рд╖рд╛-рдЙрдиреНрдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ (рдЬрд┐рд╕реЗ рдУрдУрдкреА рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ) рдПрдХ рдирдИ рднрд╛рд╖рд╛ рдмрдирд╛рдХрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЙрд╕ рдкрд░ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦ рд░рд╣рд╛ рд╣реИред рдЕрдХреНрд╕рд░ рдРрд╕реА "рдЫреЛрдЯреА рднрд╛рд╖рд╛рдУрдВ" рдХреЛ рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛ (рдбреАрдПрд╕рдПрд▓) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЬреИрд╕рд╛ рдХрд┐ рдирд╛рдо рдХрд╛ рдЕрд░реНрде рд╣реИ, рдПрдХ рд╡рд┐рд╖рдп-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдХреНрд╖реЗрддреНрд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдиреБрдХреВрд▓рд┐рдд рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдкреЛрд╕реНрдЯрд╕реНрдХреНрд░рд┐рдкреНрдЯ, SQL,
make
, рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди,
.htaccess
рдФрд░ HTML рд╡рд┐рд╖рдп-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛ рдорд╛рдиреА рдЬрд╛рддреА рд╣реИрдВред рд╡реЗ рд╕рдм рдХреБрдЫ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдмрд▓реНрдХрд┐, рд╡реЗ рдПрдХ рдХрд╛рдо рдХреЛ рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдХрд░рдиреЗ рдкрд░ рдХреЗрдВрджреНрд░рд┐рдд рд╣реИрдВред
рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЗ рджреВрд╕рд░реЗ рдЫреЛрд░ рдкрд░
рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдПрдВ рд╣реИрдВ ред рдпрд╣рд╛рдБ рд╣рдо C, Pascal, Perl, Java, Python, Ruby, Racket рдЖрджрд┐ рджреЗрдЦрддреЗ рд╣реИрдВ рдХрд┐ рдЙрдиреНрд╣реЗрдВ рд╡рд┐рд╖рдп-рдЙрдиреНрдореБрдЦ рдХреНрдпреЛрдВ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ? рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдЦреБрдж рдХреЛ рд╕реНрдерд┐рддрд┐ рджреЗрддреЗ рд╣реИрдВред
рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдПрдБ рдЕрдХреНрд╕рд░ рдХрд┐рд╕реА рд╡рд┐рд╢реЗрд╖ рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮ рд╣реЛрддреА рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рд┐рд╕реНрдЯрдо рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП C рджреВрд╕рд░реЛрдВ рд╕реЗ рдмреЗрд╣рддрд░ рд╣реИред рдкрд░реНрд▓ - рд╕рд┐рд╕реНрдЯрдо рдПрдбрдорд┐рдирд┐рд╕реНрдЯреНрд░реЗрд╢рди рдореЗрдВ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд▓рд┐рдПред рдкрд╛рдпрдерди рд╢реБрд░реБрдЖрддреА рдХреЗ рд▓рд┐рдП рдПрдХ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╛рд╣рд░ рдЦрдбрд╝рд╛ рд╣реИред рднрд╛рд╖рд╛ рдЙрдиреНрдореБрдЦ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд░реИрдХреЗрдЯред рдкреНрд░рддреНрдпреЗрдХ рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рд╡рд╣реА рд╣реИ рдЬреЛ рдореВрд▓ рд░реВрдк рд╕реЗ рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред
DSL рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдмреАрдЪ рдПрдХ рдорд╣реАрди рд░реЗрдЦрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реВрдмреА рдХреЛ рдПрдХ рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рд╡рд╛рд▓реА рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рд▓реЗрдХрд┐рди рд░реВрдмреА рдСрди рд░реЗрд▓реНрд╕ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рд╕рд╣рдпреЛрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реЗрдм рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд▓реЛрдХрдкреНрд░рд┐рдп рд╣реЛ рдЧрдпрд╛ред рджреВрд╕рд░реА рдУрд░, рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдореВрд▓ рд░реВрдк рд╕реЗ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рд▓рд┐рдкрд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╡рд┐рд╖рдп-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛ рдереАред рд▓реЗрдХрд┐рди рд╡рд╣ рдПрдХ рд╡рд╛рдпрд░рд╕ рдХреА рддрд░рд╣ рдЙрддреНрдкрд░рд┐рд╡рд░реНрддрд┐рдд рд╣реЛ рдЧрдпрд╛, рдФрд░ рддрдм рд╕реЗ рдореВрд▓ рдХрд╛рд░реНрдп рд╕реЗ рдмрд╣реБрдд рдЖрдЧреЗ рдмрдврд╝ рдЧрдпрд╛ рд╣реИред
рднрд╛рд╖рд╛ рдХреНрдпрд╛ рд╣реИ?
рдпрджрд┐ рдЗрд╕ рдкреВрд░реЗ рд╡реНрдпрд╛рдкрдХ рд╕реНрдкреЗрдХреНрдЯреНрд░рдо рдХреЛ рднрд╛рд╖рд╛ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рднрд╛рд╖рд╛ рдХреА рдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдХреНрдпрд╛ рд╣реИрдВ?
рдореБрдЭреЗ рдкрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╕реЛрдЪ рд░рд╣реЗ рд╣реИрдВ: тАЬрдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ рдЖрдк рдЧрд▓рдд рд╣реИрдВред HTML рдХреЛрдИ рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕рд┐рд░реНрдл рдорд╛рд░реНрдХрдЕрдк рд╣реИред рд╡рд╣ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдХрд╛ рд╡рд░реНрдгрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ рд╣реИред тАЭ рдпрд╛: тАЬрдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдПрдХ рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИред рд╡реЗ рдЕрдкрдиреЗ рджрдо рдкрд░ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдпрд╣ рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдХреЗ рд▓рд┐рдП рд╕рд┐рдВрдЯреИрдХреНрд╕ рд╣реИред "
рдореИрдВ рднреА рдпрд╣реА рд╕реЛрдЪрддрд╛ рдерд╛ред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдЬрд┐рддрдирд╛ рдХрд░реАрдм рд╕реЗ рджреЗрдЦрд╛, рдпреЗ рдЕрдВрддрд░ рдЙрддрдиреЗ рд╣реА рдирд┐рд░рд╛рд▓реЗ рд▓рдЧ рд░рд╣реЗ рдереЗред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдореЗрд░рд╛ рдкрд╣рд▓рд╛ рдореБрдЦреНрдп рдХрдерди (рддреАрди рдореЗрдВ рд╕реЗ): рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╡рд┐рдирд┐рдордп рдХрд╛ рдПрдХ рдорд╛рдзреНрдпрдо рд╣реИ -
рдПрдХ рд╕рдВрдХреЗрддрди рдкреНрд░рдгрд╛рд▓реА рдЬреЛ рд▓реЛрдЧреЛрдВ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддреА рд╣реИ ред
рдЕрдВрдХрди рдкреНрд░рдгрд╛рд▓реА (рдиреЛрдЯреЗрд╢рди) рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рднрд╛рд╖рд╛ рдореЗрдВ рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рд╣реИред "рд╕реНрдкрд╖реНрдЯ" рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдЗрд╕рдХреА рд╡рд╛рдХреНрдп рд░рдЪрдирд╛ рдХреЗ рд╕рд╛рде рднрд╛рд╖рд╛
рдЕрд░реНрде (рдпрд╛
рд╢рдмреНрджрд╛рд░реНрде , рдпрджрд┐ рдЖрдк рдПрдХ рдЕрдзрд┐рдХ рдлреИрдВрд╕реА рд╢рдмреНрдж рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ) рдХреЛ рдмрддрд╛рддреА
рд╣реИ ред рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд╛ рд╕рднреА рд╕рд╛рдорд╛рдиреНрдп-рдкреНрд░рдпреЛрдЬрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЛ рдХрд╡рд░ рдХрд░рддреА рд╣реИред рдФрд░ рд╕рднреА рдбреА.рдПрд╕.рдПрд▓. (рд▓реЗрдХрд┐рди рд╣рд░ рдбреЗрдЯрд╛ рд╕реНрдЯреНрд░реАрдо рдирд╣реАрдВ, рдЬрд┐рд╕реЗ рдмрд╛рдж рдореЗрдВ рдФрд░ рдЕрдзрд┐рдХ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА)ред
(рд╡реИрд╕реЗ, рд╣рд╛рд▓рд╛рдВрдХрд┐ "рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ" рдФрд░ "рднрд╛рд╖рд╛" рд╢рдмреНрдж рдПрдХ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдореБрд╣рд╛рд╡рд░реЗ рд╣реИрдВ, рдЗрди рднрд╛рд╖рд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рд▓реЛрдЧ рдХреЗрд╡рд▓ рдХрдВрдкреНрдпреВрдЯрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВред рдХрднреА-рдХрднреА рдЙрдирдХрд╛ рдЙрдкрдпреЛрдЧ рдХрдВрдкреНрдпреВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрд╕-рдПрдХреНрд╕рдкреНрд░реЗрд╢рдВрд╕), рдХрднреА-рдХрднреА рдПрдХ-рджреВрд╕рд░реЗ рд╕реЗ рд╕рдВрд╡рд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, XML, JSON, HTMLред) рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдЗрди рд╕реБрд╡рд┐рдзрд╛рдУрдВ рдХреЛ рдмрд╛рд╣рд░ рдХрд░рдирд╛ рдЧрд▓рдд рд▓рдЧрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╡реНрдпрд╡рд╣рд╛рд░ рдореЗрдВ, рд╣рд╛рдВ - рд╣рдо рдЖрдорддреМрд░ рдкрд░ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде рдЬреЛ рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╣реИред
HTML рдХреЛрдб рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ: рдХрдВрдкреНрдпреВрдЯрд░ рдХреЛ рдмрддрд╛рдиреЗ рдХрд╛ рдПрдХ рддрд░реАрдХрд╛ - рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдПрдХ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ - рдПрдХ рд╡реЗрдм рдкреЗрдЬ рдХреИрд╕реЗ рдЖрдХрд░реНрд╖рд┐рдд рдХрд░реЗрдВред рдпрд╣ рдПрдХ рд╕рдВрдХреЗрддрди рдкреНрд░рдгрд╛рд▓реА (рдХреЛрдг рдХреЛрд╖реНрдардХ, рдЯреИрдЧ, рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ, рдЖрджрд┐) рд╣реИ рдЬреЛ рдордиреБрд╖реНрдпреЛрдВ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддрд╛ рд╣реИ (рд╡рд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рд╡рд░реНрдг рдХреВрдЯрдмрдиреНрдзрди рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ,
p
рдЯреИрдЧ рдореЗрдВ рдПрдХ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдЖрджрд┐ рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)ред
рдпрд╣рд╛рдБ рдПрдХ рдЫреЛрдЯрд╛ HTML рдкреГрд╖реНрда рд╣реИ:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>My web page</title> </head> <body> <p>Hello <strong>world</strong></p> </body> <html>
рдорд╛рди рд▓реАрдЬрд┐рдП рдХрд┐ рдЖрдк рдЗрд╕ рдмрд╛рдд рд╕реЗ рд╕рд╣рдордд рдирд╣реАрдВ рд╣реИрдВ рдХрд┐ HTML рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИред рд╕рдм рдареАрдХ рд╣реИред рд╣рдо рдкрд╛рдпрдерди рдореЗрдВ рдЕрдкрдирд╛ рдкреЗрдЬ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ, рд╣реИ рдирд╛?
print "<!DOCTYPE html>" print "<html>" print "<head>" print "<meta charset=\"UTF-8\">" print "<title>My web page</title>" print "</head>" print "<body>" print "<p>Hello <strong>world</strong></p>" print "</body>" print "<html>"
рдпрджрд┐ рдкрд╛рдпрдерди рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИ, рд▓реЗрдХрд┐рди HTML рдирд╣реАрдВ рд╣реИ, рддреЛ рдпрд╣ рдкрд╛рдпрдерди рдирдореВрдирд╛ рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд╣реИ, рд▓реЗрдХрд┐рди HTML рдирдореВрдирд╛ рдирд╣реАрдВ рд╣реИред
рдЬрд╛рд╣рд┐рд░ рд╣реИ, рдпрд╣ рдПрдХ рдпрд╛рддрдирд╛ рднрд░рд╛ рдЕрдВрддрд░ рд╣реИред рдпрд╣рд╛рдБ рдЕрдЬрдЧрд░ рдХреБрдЫ рднреА рдЬрдЯрд┐рд▓рддрд╛ рдФрд░ рд░реВрдврд╝рд┐рд╡рд╛рджрд┐рддрд╛ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рдЬреЛрдбрд╝рддрд╛ рд╣реИред рдЧреМрд░ рдХрд░рдиреЗ рд╡рд╛рд▓реА рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдПрдХ рдкрд╛рдпрдерди рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдХреЗрд╡рд▓ рджрд┐рд▓рдЪрд╕реНрдк рд╢рдмреНрджрд╛рд░реНрде рд╕рд╛рдордЧреНрд░реА - рдПрдХ рд╡реЗрдм рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рджреГрд╖реНрдЯрд┐рдХреЛрдг рд╕реЗ - рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕реЗ HTML рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рд╢рд╛рдпрдж HTML рдЯреИрдЧреНрд╕ рдЬреИрд╕реЗ
DOCTYPE
,
meta
рдФрд░
strong
рдХреЛ рдРрд╕реЗ рдХрд╛рд░реНрдп рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рддрд░реНрдХ рд▓реЗрддреЗ рд╣реИрдВ)ред рддрд░реНрдХ рд╣рдореЗрдВ рдпрд╣ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░реЗрд░рд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ HTML, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╕рд░рд▓ рдФрд░ рдХрдо рд▓рдЪреАрд▓рд╛ рд╣реИ, рдлрд┐рд░ рднреА рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рд╣реИред
рдПрдВрдмреЗрдбреЗрдб рднрд╛рд╖рд╛рдПрдБ
HTML рдФрд░ рдкрд╛рдпрдерди рдХреЗ рд╕рд╛рде рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣рдо рд╕рд╛рде рдЖрдП рд╣реИрдВред рд▓реЗрдХрд┐рди рдбреАрдПрд╕рдПрд▓ рдХреЛ рдХрд┐рд╕реА рдЕрдиреНрдп рднрд╛рд╖рд╛ рдореЗрдВ рдПрдореНрдмреЗрдб рдХрд░рдирд╛ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рд╣реИред рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рднрд╛рд╖рд╛рдУрдВ рдХреЛ
рдПрдореНрдмреЗрдбреЗрдб рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рд╡реЗ рднрд╛рд╖рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд╕рдмрд╕реЗ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддреЗ рд╣реИрдВред рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд░реВрдк рдореЗрдВ, рдЖрдкрдиреЗ рдХрдИ рд╡рд░реНрд╖реЛрдВ рддрдХ JOP рдкрд░ рднрд░реЛрд╕рд╛ рдХрд┐рдпрд╛ рд╣реИ, рднрд▓реЗ рд╣реА рдЖрдкрдХреЛ рдЗрд╕рдХрд╛ рдирд╛рдо рдирд╣реАрдВ рдкрддрд╛ рд╣реЛред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ (рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг: рд╕реНрд╡рд░реВрдкрдг рд╕реНрдЯреНрд░рд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдкреНрд░рд┐рдВрдЯ, рддрд╛рд░реАрдЦ / рд╕рдордп рдХреЗ рдкреИрдЯрд░реНрди рдХреЗ рд▓рд┐рдП рд╕реАрдПрд▓рдбреАрдЖрд░, рдПрд╕рдХреНрдпреВрдПрд▓)ред рд╣рдо рдПрдХ рд╕реНрд╡рддрдВрддреНрд░ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╕реЛрдЪ рд╕рдХрддреЗред рд▓реЗрдХрд┐рди рд╣рд░ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ:
^fo+(bar)*$
рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЖрдк рдЕрдкрдиреА рдкрд╕рдВрджреАрджрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдореЗрдВ рдЗрд╕ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдХреЛ рджрд░реНрдЬ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕рд┐рд░реНрдл рдХрд╛рдо рдХрд░реЗрдЧрд╛ред рдпрд╣ рд╕реБрд╕рдВрдЧрдд рд╡реНрдпрд╡рд╣рд╛рд░ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рд╕рдВрднрд╡ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд╕рдВрдХреЗрддрди рдПрдХ рдмрд╛рд╣рд░реА рднрд╛рд╖рд╛ (
POSIX ) рд╣реИред
HTML рдХреА рддрд░рд╣, рд╣рдо рд╣реЛрд╕реНрдЯ рднрд╛рд╖рд╛ рд╕рдВрдХреЗрддрди рдореЗрдВ рдПрдХ рд╕рдорддреБрд▓реНрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реИрдХреЗрдЯ
рд╕реНрдХреАрдо рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди (SRE) рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рдпреЗ
S- рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рд░реЗрдЧреБрд▓рд░ рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рд╣реИрдВред рдЙрдкрд░реЛрдХреНрдд рдЯреЗрдореНрдкрд▓реЗрдЯ рдЗрд╕ рддрд░рд╣ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛:
(seq bos "f" (+ "o") (* (submatch "bar")) eos)
рд▓реЗрдХрд┐рди рд░реИрдХреЗрдЯ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд╢рд╛рдпрдж рд╣реА рдХрднреА рдПрд╕рдЖрд░рдИ рднрд╛рд╡ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред рд╡реЗ рдпрд╛рдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рд▓рдВрдмреЗ рдФрд░ рдХрдард┐рди рд╣реИрдВред
рдПрдореНрдмреЗрдбреЗрдб рдбреАрдПрд╕рдПрд▓ рдХрд╛ рдПрдХ рдФрд░ рд╕рд░реНрд╡рд╡реНрдпрд╛рдкреА рдЙрджрд╛рд╣рд░рдг: рдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ред рдкреНрд░рддреНрдпреЗрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЬрд╛рдирддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИ:
(1 + 2) * (3 / 4) - 5
рдЕрдХреЗрд▓реЗ рдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рджрд┐рд▓рдЪрд╕реНрдк рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд╣реАрдВ рдмрдирд╛рддреА рд╣реИрдВред рд╣рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдЕрдиреНрдп рднрд╛рд╖рд╛ рдирд┐рд░реНрдорд╛рдгреЛрдВ рдХреЗ рд╕рд╛рде рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ред рд▓реЗрдХрд┐рди, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде, рдпрд╣ рдПрдХ рдПрд░реНрдЧреЛрдиреЛрдорд┐рдХ рдФрд░ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░рд┐рдХреЙрд░реНрдб рд╣реИред рдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЗ рдЕрдкрдиреЗ рдЕрдВрдХрди рдФрд░ рдЕрд░реНрде рд╣реИрдВ рдЬреЛ рд▓реЛрдЧреЛрдВ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП рд╡реЗ рдПрдХ рдЕрд▓рдЧ рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ рдпреЛрдЧреНрдп рд╣реИрдВред
рдХреНрдпрд╛ рдЖрдк рдордЬрд╛рдХ рдХрд░ рд░рд╣реЗ рд╣реИрдВ рдХрд┐ HTML рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╣реИ?
рдирд╣реАрдВ, рдпрд╣ рд╣реИред рдореИрдВ рдкреБрд╖реНрдЯрд┐ рдХрд░рддрд╛ рд╣реВрдВ рдХрд┐ HTML (рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдФрд░ рдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рджреЛрдиреЛрдВ) рдЕрд▓реНрдкрд╡рд┐рдХрд╕рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдпреЛрдЧреНрдп рд╣реИред рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ HTML (рдпрд╛ рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐ рдпрд╛ рдЧрдгрд┐рддреАрдп рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐) рд▓рд┐рдЦрдирд╛ рдЕрд▓реНрдкрд╡рд┐рдХрд╕рд┐рдд рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рдпреЛрдЧреНрдп рд╣реИред
рдХреГрдкрдпрд╛ рдШрдмрд░рд╛рдПрдВ рдирд╣реАрдВред рдмреЗрд╢рдХ, рдХреЗрд╡рд▓ HTML рдФрд░ рдЕрдВрдХрдЧрдгрд┐рдд рдХреЗ рдЬреНрдЮрд╛рди рдХреЗ рд╕рд╛рде рд▓рд┐рдВрдХреНрдбрдЗрди рдкрд░ рдПрдХ "рдкреНрд░реЛрдЧреНрд░рд╛рдорд░" рдмрдХрд╡рд╛рд╕ рд╣реИ (рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рд╣рдлреНрддреЗ рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рд╢рд╛рдпрдж $ 180,000 рдХрд╛ рдХрд╛рдо рдорд┐рд▓реЗрдЧрд╛)ред рд▓реЗрдХрд┐рди рдпрд╣ рдПрдХ рдЕрд▓рдЧ рдореБрджреНрджрд╛ рд╣реИ, рд╢реНрд░рдо рдмрд╛рдЬрд╛рд░ рдореЗрдВ "рдкреНрд░реЛрдЧреНрд░рд╛рдорд░" рдХрд╛ рдХреНрдпрд╛ рдорддрд▓рдм рд╣реИред рд╣рдо рдЙрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдирд╣реАрдВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред
рдЯреНрдпреВрд░рд┐рдВрдЧ рд╕рдордЧреНрд░рддрд╛ рдЯреНрд░реИрдк
рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдУрдВ рдХреА рдпрд╣ рдкрд░рд┐рднрд╛рд╖рд╛ рдЕрднреА рднреА рдЖрдкрдХреЛ рдЧреБрд╕реНрд╕рд╛ рджрд┐рд▓рд╛рддреА рд╣реИ, рддреЛ рд╢рд╛рдпрдж рдЖрдкрдХреЛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдПрдХ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рд╕рднреА рд╕рдВрднрд╡ рдПрд▓реНрдЧреЛрд░рд┐рджрдо рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЕрд░реНрдерд╛рдд, рдпрд╣
рдЯреНрдпреВрд░рд┐рдВрдЧ рдкреВрд░реНрдг рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдореИрдВ рд╕рдордЭрддрд╛ рд╣реВрдВ рдХрд┐ рд╕рд╣рдЬ рд░реВрдк рд╕реЗ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рд╡рд┐рдЪрд╛рд░ рд╕реЗ рд╣реА рдкрддрд╛ рдЪрд▓рддрд╛ рд╣реИред рдкреНрд░рддреНрдпреЗрдХ рд╕рд╛рдорд╛рдиреНрдп-рдкреНрд░рдпреЛрдЬрди рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдЯреНрдпреВрд░рд┐рдВрдЧ рдкреВрд░реНрдг рд╣реИред
рд▓реЗрдХрд┐рди рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдпрд╣ рдПрдХ рдХрдо рдмрд╛рд░ рд╣реИред рдЯреНрдпреВрд░рд┐рдВрдЧ рдкреВрд░реНрдгрддрд╛ рдПрдХ рддрдХрдиреАрдХреА рдореАрдЯреНрд░рд┐рдХ рд╣реИ рдЬреЛ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдореЗрдВ рднрд╛рд╖рд╛ рдХреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рдЕрдиреБрд░реВрдк рдирд╣реАрдВ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдирд┐рдпрдорд┐рдд рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпрд╛рдБ рдЯреНрдпреВрд░рд┐рдВрдЧ рдкреВрд░реНрдг рдирд╣реАрдВ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдиреНрдпреВрдирддрдо рдЧрдгрдирд╛рдУрдВ рдХреЗ рд╕рд╛рде рдХрдИ рдЧрдгрдирд╛рдУрдВ рдХреЛ рд╡реНрдпрдХреНрдд рдХрд░рддреЗ рд╕рдордп рд╡реЗ рдЙрдкрдпреЛрдЧреА рд╣реЛрддреЗ рд╣реИрдВред HTML рднреА Turing рдкреВрд░рд╛ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдмреНрд░рд╛рдЙрдЬрд╝рд░ рдХреЛ рдирд┐рдпрдВрддреНрд░рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдЙрдкрдпреЛрдЧреА рддрд░реАрдХрд╛ рд╣реИред рдЗрд╕рдХреЗ рд╡рд┐рдкрд░реАрдд,
bf рднрд╛рд╖рд╛ рдЯреНрдпреВрд░рд┐рдВрдЧ рдкреВрд░реНрдг рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рд╕рдмрд╕реЗ рддреБрдЪреНрдЫ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЕрдЧрдореНрдп рдХреЛрдб рдХреЗ рдХрд┐рд▓реЛрдореАрдЯрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред
рднрд╛рд╖рд╛ рдкреНрд░рддрд┐рдмрдВрдз
рдХреНрдпрд╛ рдореЗрд░реА рднрд╛рд╖рд╛ рдХреЗ рдЕрдВрддрд░реНрдЧрдд рдХреБрдЫ рдЖрддрд╛ рд╣реИ? рдирд╣реАрдВред
- рдмрд╛рдЗрдирд░реА рдбреЗрдЯрд╛ рдлреЙрд░реНрдореЗрдЯреНрд╕ рдХреЛ рднрд╛рд╖рд╛ рдирд╣реАрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ
jpeg
рдлрд╝рд╛рдЗрд▓ред рд╣рд╛рд▓рд╛рдВрдХрд┐ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдЙрдиреНрд╣реЗрдВ рд╕рдордЭ рд╕рдХрддрд╛ рд╣реИ, рдПрдХ рд╡реНрдпрдХреНрддрд┐ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдпрд╛ рдкреАрдбреАрдПрдл: рдпрджрд┐ рдЖрдк рдЗрд╕реЗ рд╣реИрдХ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ рд╣рд┐рд╕реНрд╕реЗ рд╣реИрдВ рдЬреЛ рдорд╛рдирд╡ рдкрдардиреАрдп рд╣реИрдВред рд▓реЗрдХрд┐рди рдпрд╣ рдкреАрдбреАрдПрдл рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЗ рдХрд╛рд░рдг рд╣реИред рдкреАрдбреАрдПрдл рдирд┐рд░реНрдорд╛рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рд╕реА рднреА рд╡рд┐рдЪрд╛рд░ рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рдорддрд▓рдм рдирд╣реАрдВ рд╣реИред
- рдкрд╛рда рдлрд╝рд╛рдЗрд▓реЗрдВ рднрд╛рд╖рд╛рдПрдВ рдирд╣реАрдВ рд╣реИрдВред рдорд╛рди рд▓реАрдЬрд┐рдП рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рд╣реЛрдорд░ рдХреА рдЗрд▓рд┐рдпрдб рдХреЗ рд╕рд╛рде рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╣реИред рд╣рдо рдЗрдВрд╕рд╛рди рдЗрд╕реЗ рдкрдврд╝ рдФрд░ рд╕рдордЭ рд╕рдХрддреЗ рд╣реИрдВред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдХрдВрдкреНрдпреВрдЯрд░ рдлрд╝рд╛рдЗрд▓ рдХреЛ рддреБрдЪреНрдЫ рд░реВрдк рд╕реЗ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдХрд╣ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдкреНрд░рд┐рдВрдЯ рдХрд░рддреЗ рд╣реБрдП, рдЕрдВрджрд░ рдХрд╛ рдкрд╛рда рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рд╕реЗ рдмрд╛рд╣рд░ рд╣реИред
- рдЧреНрд░рд╛рдлрд┐рдХрд▓ рдпреВрдЬрд░ рдЗрдВрдЯрд░рдлреЗрд╕ рднрд╛рд╖рд╛ рдирд╣реАрдВ рд╣реИрдВред рд╣рд╛рдВ, рдпреЗ рдиреЛрдЯреЗрд╢рди рд╕рд┐рд╕реНрдЯрдо рд╣реИрдВ (рдЬреЛ рдЯреЗрдХреНрд╕реНрдЯ рдФрд░ рдЗрдореЗрдЬ рдкрд░ рдирд┐рд░реНрднрд░ рд╣реИрдВ)ред рд▓реЗрдХрд┐рди рд╡реЗ рдХреЗрд╡рд▓ рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдордЭ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред рдХрдВрдкреНрдпреВрдЯрд░ рдПрдХ GUI рдЖрдХрд░реНрд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рд▓реЗрдХрд┐рди рдЙрдиреНрд╣реЗрдВ рд╕рдордЭ рдирд╣реАрдВ рдкрд╛рддреЗ рд╣реИрдВред
рднрд╛рд╖рд╛рдПрдВ рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ
рдКрдкрд░, рдореИрдВрдиреЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЛ рд▓реЛрдЧреЛрдВ рдФрд░ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреЗ рдмреАрдЪ "рд╡рд┐рдирд┐рдордп рдХрд╛ рдорд╛рдзреНрдпрдо" рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рднрд╛рд╖рд╛рдПрдБ рдПрдХ рд╡реНрдпрд╛рдкрдХ рд╢реНрд░реЗрдгреА рдореЗрдВ рдЖрддреА рд╣реИрдВ, рдЬрд┐рд╕реЗ рд╣рдо
рдЗрдВрдЯрд░рдлреЗрд╕ рдХрд╣рддреЗ рд╣реИрдВред
рдпрд╣ рджреВрд╕рд░реЗ рдореВрд▓ рдХрдерди рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИ (рддреАрди рдореЗрдВ рд╕реЗ):
рднрд╛рд╖рд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рдореВрд▓ рд░реВрдк рд╕реЗ рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдбрд┐рдЬрд╛рдЗрди рдХрд░рдиреЗ рдХреА рдПрдХ рд╡рд┐рдзрд┐ рд╣реИ ред рдпрджрд┐ рдЖрдк рдЗрдВрдЯрд░рдлреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдирд╛ рдкрд╕рдВрдж рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рдЖрдк JOP рдкрд╕рдВрдж рдХрд░реЗрдВрдЧреЗред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ рдЖрдк рдЗрд╕реЗ рд╕рдВрднрд╡ рдЗрдВрдЯрд░рдлреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП JOP рд╕реЗ рдкреНрдпрд╛рд░ рдХрд░реЗрдВрдЧреЗ рдЬреЛ рдЕрдиреНрдпрдерд╛ рдЕрдкреНрд░рд╛рдкреНрдп рд╣реИрдВред
рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рднрд╛рд╖рд╛ рдХреЗ рдореЗрд░реЗ рдкрд╕рдВрджреАрджрд╛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ
рдмреНрд░реИрдЧ рд╣реИ , рдЬреЛ рд░реИрдХреЗрдЯ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЧрдИ рдПрдХ рдкрд╛рд░реНрд╕рд░ рдЬрдирд░реЗрдЯрд░ рднрд╛рд╖рд╛ рд╣реИред рдпрджрд┐ рдЖрдкрдиреЗ рдХрднреА lex / yacc toolchain рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рд╣реИ, рддреЛ рдЖрдк рдЬрд╛рдирддреЗ рд╣реИрдВ рдХрд┐ рдЕрдХреНрд╕рд░ рд▓рдХреНрд╖реНрдп
BNF рд╡реНрдпрд╛рдХрд░рдг рд╕реЗ рдкрд╛рд░реНрд╕рд░ рдЙрддреНрдкрдиреНрди рдХрд░рдирд╛ рд╣реЛрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
bf рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
bf-program : (bf-op | bf-loop)* bf-op : ">" | "<" | "+" | "-" | "." | "," bf-loop : "[" (bf-op | bf-loop)* "]"
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рдХреА рднрд╛рд╖рд╛ рдореЗрдВ рдПрдХ рдкрд╛рд░реНрд╕рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ рдЗрд╕ рд╡реНрдпрд╛рдХрд░рдг рдХреЛ рдореВрд▓ рдХреЛрдб рдХреЗ рдПрдХ рд╕рдореВрд╣ рдореЗрдВ рдЕрдиреБрд╡рд╛рдж рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдпрд╣ рдПрдХ рдердХрд╛рдК рдХрд╛рдо рд╣реИред рдФрд░ рд╡реНрдпрд░реНрде - рдХреНрдпрд╛ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рд╡реНрдпрд╛рдХрд░рдг рдирд╣реАрдВ рд▓рд┐рдЦрд╛ рд╣реИ? рдлрд┐рд░ рд╕реЗ рдХреНрдпреЛрдВ рдХрд░рддреЗ рд╣реИрдВ?
рд╣рд╛рд▓рд╛рдВрдХрд┐,
brag
рд╣рдорд╛рд░реА рдЗрдЪреНрдЫрд╛ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреА рд╣реИред рдкрд╛рд░реНрд╕рд░ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдлрд╝рд╛рдЗрд▓ рдореЗрдВ
#Lang brag
рд▓рд╛рдЗрди рдЬреЛрдбрд╝рддреЗ рд╣реИрдВ, рдЬреЛ рдЬрд╛рджреБрдИ рд░реВрдк рд╕реЗ рдмреАрдПрдирдПрдл рд╡реНрдпрд╛рдХрд░рдг рдХреЛ
brag
рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдореЗрдВ рдмрджрд▓ рджреЗрддреА рд╣реИ:
#Lang brag bf- : (Bf-op | Bf-loop)* bf-op : ">" | "<" | "+" | "-" | "."| "," Bf-loop : "["(Bf-op | Bf-loop)* "]"
рд╣реЛ рдЧрдпрд╛! рд╕рдВрдХрд▓рди рдХреЗ рд╕рдордп, рдпрд╣ рдлрд╝рд╛рдЗрд▓
parse
рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдирд┐рд░реНрдпрд╛рдд рдХрд░рддреА рд╣реИ, рдЬреЛ рдЗрд╕ BNF рд╡реНрдпрд╛рдХрд░рдг рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреА рд╣реИред
рдпрд╣ рдореЗрд░реЗ рдкрд╕рдВрджреАрджрд╛ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдЕрдиреНрдп рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреЗ рдореБрдХрд╛рдмрд▓реЗ рдирд┐рд░реНрд╡рд┐рд╡рд╛рдж рд░реВрдк рд╕реЗ рд╢реНрд░реЗрд╖реНрда рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдЙрджреНрджреЗрд╢реНрдп рд╡рд╛рд▓реА рднрд╛рд╖рд╛ рдХреЗ рд╕рд╛рде, рдРрд╕рд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд░реВрдк рд╕реЗ рдЕрд╕рдВрднрд╡ рд╣реИред
рд▓реЗрдХрд┐рди рдПрдХ JOP рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд▓рдЧрд╛рддрд╛рд░ рдРрд╕реЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдмрдирд╛ рд░рд╣рд╛ рд╣реИред
рдЬрд╣рд╛рдВ рднрд╛рд╖рд╛ рд╕рдмрд╕реЗ рдЕрдЪреНрдЫрд╛ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рд╣реИ
рдпрд╣ рдореБрдЭреЗ рдореЗрд░реЗ рддреАрд╕рд░реЗ рдФрд░ рдЕрдВрддрд┐рдо рдмреБрдирд┐рдпрд╛рджреА рд╢реЛрдз рдореЗрдВ рд▓рд╛рддрд╛ рд╣реИ рдХрд┐
рднрд╛рд╖рд╛рдУрдВ рдХреЗ рдЗрдВрдЯрд░рдлреЗрд╕ рдкрд░ рдЕрджреНрд╡рд┐рддреАрдп рдлрд╛рдпрджреЗ рд╣реИрдВ ред рдмреЗрд╢рдХ, рдиреАрдЪреЗ рджреА рдЧрдИ рд╢реНрд░реЗрдгрд┐рдпрд╛рдВ рд╕рдВрдкреВрд░реНрдг рдпрд╛ рдЕрдирдиреНрдп рдирд╣реАрдВ рд╣реИрдВред рд▓реЗрдХрд┐рди рдореИрдВрдиреЗ рдкрд╛рдпрд╛ рдХрд┐ IOP рдХреЗ рдкрд╛рд╕ рдРрд╕реА рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдореЗрдВ рдкреЗрд╢ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдХреБрдЫ рд╣реИ:
1. рдЬрдм рдЖрдк рдХрдо рдХреБрд╢рд▓ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, рдпрд╛ рдЧреИрд░-рдкреНрд░реЛрдЧреНрд░рд╛рдорд░, рдпрд╛ рдЖрд▓рд╕реА рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЗ рд▓рд┐рдП рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ (рдмрд╛рдж рдХреА рд╢реНрд░реЗрдгреА рдХреЗ рдЖрдХрд╛рд░ рдХреЛ рдХрдо рди рд╕рдордЭреЗрдВ)ред
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд░реИрдХреЗрдЯ рдореЗрдВ рдПрдХ рдкрд░рд┐рд╖реНрдХреГрдд
рд╡реЗрдм рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд╣реИ ред рд▓реЗрдХрд┐рди рдПрдХ рд╕рд╛рдзрд╛рд░рдг рд╡реЗрдм рд╕рд░реНрд╡рд░ рднреА
web-server/insta
рднрд╛рд╖рд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЬрд▓реНрджреА рд╕реЗ рд╢реБрд░реВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
#lang web-server/insta (define (start request) (response/xexpr '(html (body "Hello LOP World"))))
рдореИрдереНрдпреВ рдлреНрд▓реИрдЯ рдиреЗ рдЕрдкрдиреЗ рд▓реЗрдЦ
"рдХреНрд░реЗрдЯрд┐рдВрдЧ рд▓реИрдВрдЧреНрд╡реЗрдЬреЗрдЬ рдЗрди рд░реИрдХреЗрдЯ" рдореЗрдВ рдЙрд╕ рднрд╛рд╖рд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рд╣реИ рдЬреЛ рдЦреЗрд▓рдиреЗ рдпреЛрдЧреНрдп рдкрд╛рда рд░реЛрдорд╛рдВрдЪ рдЙрддреНрдкрдиреНрди рдХрд░рддреА рд╣реИред
brag
рддрд░рд╣, рдпрд╣ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рд╡рд┐рдирд┐рд░реНрджреЗрд╢рди рдЬреИрд╕рд╛ рджрд┐рдЦрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
#lang txtadv ===VERBS=== north, n "go north" south, s "go south" get _, grab _, take _ "get" ===THINGS=== ---cactus--- get "Ouch!" ===PLACES=== ---desert--- "You're in a desert. There is nothing for miles around." [cactus, key] north meadow south desert
2. рдЬрдм рдЖрдк рд╕рдВрдХреЗрддрди рдХреЛ рд╕рд░рд▓ рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдирд┐рдпрдорд┐рдд рднрд╛рд╡ред рдПрдХ рдЕрдиреНрдп рдЙрджрд╛рд╣рд░рдг рдореЗрд░реА рд╡рд┐рд╖рдп-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛
рдкреЛрд▓рди рд╣реИ рдЬреЛ рдСрдирд▓рд╛рдЗрди рдХрд┐рддрд╛рдмреЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣реИред рдкрд░рд╛рдЧ рд░реИрдХреЗрдЯ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдХреЗрд╡рд▓ рдпрд╣рд╛рдВ рдЖрдк рдЯреЗрдХреНрд╕реНрдЯ рдореЛрдб рдореЗрдВ рдХрд╛рдо рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рд░реИрдХреЗрдЯ рдХрдорд╛рдВрдб рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд╡рд░реНрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рд╕рд╛рдордЧреНрд░реА рдореЗрдВ рдПрдореНрдмреЗрдбреЗрдб рд╣реИрдВ (рдкрд░рд╛рдЧ рд░реИрдХреЗрдЯ рдкреНрд░рд▓реЗрдЦрди рднрд╛рд╖рд╛ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдЬрд┐рд╕реЗ
рд╕реНрдХреНрд░рд┐рдмрд▓ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рднрд╛рд░ рдХреЗ рдереЛрдХ рд▓реЗрддрд╛ рд╣реИ)ред рддреЛ, рдЗрд╕ рдкреИрд░рд╛рдЧреНрд░рд╛рдл рдХреА рд╢реБрд░реБрдЖрдд рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХреНрд░рдорд╛рджреЗрд╢рд┐рдд рд╣реИ:
. тАФ . тАФ - тЧКlink["https://pollenpub.com/"]{Pollen} -.
рдкрд░рд╛рдЧ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдЯреИрдЧ рдЪрд┐рдкрдХрд╛рдиреЗ рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЕрдЪреВрдХ HTML рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдкрд░рд╡рд╛рд╣ рдХрд░рддрд╛ рд╣реИред рдореЗрд░реЗ рдкрд╛рд╕ рдЕрднреА рднреА рдореИрдиреБрдЕрд▓ рдорд╛рд░реНрдХрдЕрдк (рдкреГрд╖реНрда рдкрд░ рдкреВрд░реНрдг рдирд┐рдпрдВрддреНрд░рдг) рдХреЗ рд╕рднреА рдлрд╛рдпрджреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдХреЛрдИ рдХрдорд┐рдпрд╛рдВ рдирд╣реАрдВ рд╣реИрдВ (рдХрд╣рддреЗ рд╣реИрдВ, рдореИрдВ рдЧрд▓рддреА рд╕реЗ рдПрдХ рдЕрд╕реНрдкрд╖реНрдЯ рдЯреИрдЧ рдирд╣реАрдВ рдЫреЛрдбрд╝ рд╕рдХрддрд╛)ред
рд╕рд░рд▓реАрдХреГрдд рд╕рдВрдХреЗрддрди рдХрд╛ рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдг
lindenmayer
,
рд▓рд┐рдВрдбреЗрдирдореЗрдпрд░ рд╕рд┐рд╕реНрдЯрдо рдлреНрд░реИрдХреНрдЯрд▓ рдЬрдирд░реЗрд╢рди рдФрд░ рдбреНрд░рд╛рдЗрдВрдЧ рд▓реИрдВрдЧреНрд╡реЗрдЬ, рдЬреИрд╕реЗ рдпрд╣:
рдПрдХ рдареЗрда рд░реИрдХреЗрдЯ рдореЗрдВ, рдПрдХ рд▓рд┐рдВрдбреЗрдирдорд╛рдпрд░ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЗрд╕ рддрд░рд╣ рджрд┐рдЦ рд╕рдХрддрд╛ рд╣реИ:
#lang racket/base (require lindenmayer/simple/compile) (define (finish val) (newline)) (define (A value) (display 'A)) (define (B value) (display 'B)) (lindenmayer-system (void) finish 3 (A) (A -> AB) (B -> A))
рд▓реЗрдХрд┐рди рдЖрдк рдлрд╝рд╛рдЗрд▓ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░
#lang
рд╕рдВрдХреЗрддрди рдХреЛ рдмрджрд▓рдХрд░ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрдХреЗрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
#lang lindenmayer/simple ## axiom ## A ## rules ## A -> AB B -> A ## variables ## n=3
рднрд╛рд╖рд╛ рдорд╛рдирддреА рд╣реИ рдХрд┐ рдЖрдк рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрд▓-рд╕рд┐рд╕реНрдЯрдо рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реИрдВред рд▓реЗрдХрд┐рди рдПрдХ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрдХреЗрддрди рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдЕрдкрдиреА рдЗрдЪреНрдЫрд╛рдУрдВ рдХреЛ рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рдмрдирд╛рддрд╛ рд╣реИ рдЬреЛ рдЖрдкрдХреЛ рдЪрд╛рд╣рд┐рдПред
3. рдЬрдм рдЖрдк рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдиреЛрдЯреЗрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рд╣рдордиреЗ рдКрдкрд░ рджреЗрдЦрд╛ рдХрд┐ рдХреИрд╕реЗ
brag
рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ BNF рд╡реНрдпрд╛рдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред
#lang brag bf-program : (bf-op | bf-loop)* bf-op : ">" | "<" | "+" | "-" | "." | "," bf-loop : "[" (bf-op | bf-loop)* "]"
рдПрдХ рдФрд░ рдЙрджрд╛рд╣рд░рдгред рдкрд░рд╛рдЧ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рд▓реЛрдЧреЛрдВ рдиреЗ рдХрд╣рд╛, "рд╣рд╛рдВ, рдпрд╣ рдмрд╣реБрдд рдЕрдЪреНрдЫрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореИрдВ рдорд╛рд░реНрдХрдбрд╛рдЙрди рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред" рдХреЛрдИ рд╕рдорд╕реНрдпрд╛ рдирд╣реАрдВ:
pollen/markdown
рдПрдХ рдкрд░рд╛рдЧ рдмреЛрд▓реА рд╣реИ рдЬреЛ рдкрд░рд╛рдЧ рд╢рдмреНрджрд╛рд░реНрде рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рд╛рдорд╛рдиреНрдп рдорд╛рд░реНрдХрдбрд╛рдЙрди рд╕рдВрдХреЗрддрди рдХреЛ рд╕реНрд╡реАрдХрд╛рд░ рдХрд░рддрд╛ рд╣реИ:
. тАФ . тАФ - [Pollen]("https://pollenpub.com/") -.
рд╕рдмрд╕реЗ рд╕реБрдЦрдж рдмрд╛рдд? рдореИрдВрдиреЗ рдореМрдЬреВрджрд╛ рдХреЛрдб рдХреЗ рд╕рд╛рде
рдорд╛рд░реНрдХрдбрд╛рдЙрди рдкрд╛рд░реНрд╕рд░ рдХреЗ рд╕рдВрдпреЛрдЬрди рдореЗрдВ рдХреЗрд╡рд▓ рдПрдХ рдШрдВрдЯреЗ рдореЗрдВ рдпрд╣ рдмреЛрд▓реА рд▓рд┐рдЦреА рдереАред
4. рдпрджрд┐ рдЖрдк рдЕрдиреНрдп рднрд╛рд╖рд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рдордзреНрдпрд╡рд░реНрддреА рд▓рдХреНрд╖реНрдп рдмрдирд╛рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред JSON, YAML, S- рдПрдХреНрд╕рдкреНрд░реЗрд╢рди рдФрд░ XML рд╕рднреА рдбреЛрдореЗрди-рд╡рд┐рд╢рд┐рд╖реНрдЯ рднрд╛рд╖рд╛рдПрдБ рд╣реИрдВ рдЬреЛ рдорд╢реАрди рд░реАрдб рдФрд░ рд░рд╛рдЗрдЯ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдлреЙрд░реНрдореЗрдЯ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреА рд╣реИрдВред
рдкрд░рдлреЗрдХреНрдЯ рд░реИрдХреЗрдЯ рдореЗрдВ, рдПрдХ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рднрд╛рд╖рд╛ рдХреЛ
jsonic
рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ рдЖрдкрдХреЛ JSON рдореЗрдВ рд░реИрдХреЗрдЯ рдЕрднрд┐рд╡реНрдпрдХреНрддрд┐рдпреЛрдВ рдХреЛ рдПрдореНрдмреЗрдб рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ JSON рдкреНрд░реЛрдЧреНрд░рд╛рдо рдпреЛрдЧреНрдп рд╣реЛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрд░реЛрдд рдХреЛрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
#lang jsonic // a line comment [ @$ 'null $@, @$ (* 6 7) $@, @$ (= 2 (+ 1 1)) $@, @$ (list "array" "of" "strings") $@, @$ (hash 'key-1 'null 'key-2 (even? 3) 'key-3 (hash 'subkey 21)) $@ ]
рдирд┐рдпрдорд┐рдд JSON рдХреЗ рд╕рдВрдХрд▓рди:
[ null, 42, true, ["array","of","strings"], {"key-1":null,"key-3":{"subkey":21},"key-2":false} ]
5. рдЬрдм рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛ рдореБрдЦреНрдп рднрд╛рдЧ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, Dotfiles рдХреЛ DSL рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд░реИрдХреЗрдЯ рдХрд╛ рдПрдХ рдФрд░ рдЬрдЯрд┐рд▓ рдЙрджрд╛рд╣рд░рдг рдЬреЗрд╕реА рдЕрд▓рд╛рдорд╛ рдХреА рд░рд┐рдкреЛрд╕реНрдЯреЗ рд╣реИ, рдЬреЛ JSON- рдЖрдзрд╛рд░рд┐рдд HTTP API рдХреЗ рдкрд░реАрдХреНрд╖рдг рдХреЗ рд▓рд┐рдП рдПрдХ рднрд╛рд╖рд╛ рд╣реИ:
#lang riposte $productId := 41966 $qty := 5 $campaignId := 1 $payload := { "product_id": $productId, "campaign_id": $campaignId, "qty": $qty } POST $payload cart/{uuid}/items responds with 200 $itemId := /items/0/cart_item_id GET cart responds with 200
рд▓рдШреБ рд╕реНрдХреНрд░рд┐рдкреНрдЯрд┐рдВрдЧ рднрд╛рд╖рд╛ рдХреЗ рд░реВрдк рдореЗрдВ, рд░рд┐рдкреЛрд╕реНрдЯ рдФрд╕рдд рдбреЙрдЯрдлрд╛рдЗрд▓ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдЕрдзрд┐рдХ рд╕реНрдорд╛рд░реНрдЯ рд╣реИред рдпрд╣ HTTP рд▓реЗрдирджреЗрди рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╕рднреА рдордзреНрдпрд╡рд░реНрддреА рдХреЛрдб рдХреЛ рдЫреБрдкрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкрд░реАрдХреНрд╖рдг рд▓рд┐рдЦрдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдЕрднреА рднреА рдШрд░ рдХреА рд╕рдлрд╛рдИ рд╣реИред рд▓реЗрдХрд┐рди рдХрдо рд╕реЗ рдХрдо рдЖрдк рдЙрд╕ рдШрд░ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕рдХреА рдЖрдк рдкрд░рд╡рд╛рд╣ рдХрд░рддреЗ рд╣реИрдВред
рд░реИрдХреЗрдЯ рдХреНрдпреЛрдВ?
рдЕрдХреНрд╕рд░, JOP рдХреЗ рдЖрд▓реЛрдЪрдХ рдкреВрдЫрддреЗ рд╣реИрдВ: тАЬрд╡рд┐рд╖рдп-рдЙрдиреНрдореБрдЦ рднрд╛рд╖рд╛ рдХреНрдпреЛрдВ рдмрдирд╛рддреЗ рд╣реИрдВ? рдХреНрдпрд╛ рджреЗрд╢реА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рд▓рд┐рдЦрдирд╛ рдЖрд╕рд╛рди рд╣реИ? тАЭ
рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рд╣реА рдЙрдкрдХрд░рдг рд╣реИ рддреЛ рдпрд╣ рдЖрд╕рд╛рди рдирд╣реАрдВ рд╣реИред рд░реИрдХреЗрдЯ рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИ: рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ YOP рдХреЗ рд▓рд┐рдП рдЬрдореАрди рд╕реЗ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдЗрд╕ рдкреНрд░рдХрд╛рд░, рд░реИрдХреЗрдЯ рдкрд░ рдбреАрдПрд╕рдПрд▓ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╡рд┐рдХрд▓реНрдкреЛрдВ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рддреЗрдЬ, рд╕рд╕реНрддрд╛ рдФрд░ рдЖрд╕рд╛рди рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдкрдиреА рдкреБрд╕реНрддрдХ рдХреЗ рдкрд╣рд▓реЗ рдкрд╛рда рдореЗрдВ, рдореИрдВрдиреЗ рджрд┐рдЦрд╛рдпрд╛ рдХрд┐ рдХреИрд╕реЗ рдПрдХ рдШрдВрдЯреЗ рдореЗрдВ рдПрдХ рдирдИ рднрд╛рд╖рд╛ рд╡рд┐рдХрд╕рд┐рдд рдХреА рдЬрд╛рдП - рднрд▓реЗ рд╣реА рдЖрдкрдиреЗ рдХрднреА рд░реИрдХреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рди рдХрд┐рдпрд╛ рд╣реЛредрд░реИрдХреЗрдЯ рдореЗрдВ рдкреНрд░рддреНрдпреЗрдХ рдбреАрдПрд╕рдПрд▓ рдХреЗ рд╣реБрдб рдХреЗ рддрд╣рдд, рд╕реНрд░реЛрдд-рд╕реЗ-рд╕реНрд░реЛрдд рд╕рдВрдХрд▓рдХ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ , рдЬреЛ рдбреАрдПрд╕рдПрд▓ рд╕рдВрдХреЗрддрди рдФрд░ рд╢рдмреНрджрд╛рд░реНрде рдХреЛ рдПрдХ рд╕рдорд╛рди рд░реИрдХреЗрдЯ рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддрд╛ рд╣реИ ред рдЗрд╕ рдХрд╛рд░рдг рд╕реЗ, рд░реИрдХреЗрдЯ рдбреАрдПрд╕рдПрд▓ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рд▓рд┐рдЦреЗ рдЧрдП рд╕реА рдХреЛрдб рдХреЗ рд░реВрдк рдореЗрдВ рддреЗрдЬреА рд╕реЗ рдирд╣реАрдВ рдЪрд▓ рдкрд╛рдПрдЧрд╛ред рд▓реЗрдХрд┐рди рдлрд┐рд░ рд╕рднреА рдбреАрдПрд╕рдПрд▓ рдХреЗ рд▓рд┐рдП рд░реИрдХреЗрдЯ рдЯреВрд▓ рдФрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЖрдк рдЙрддреНрдкрд╛рджрдХрддрд╛ рдореЗрдВ рдЦреЛ рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдмрд╛рд░-рдмрд╛рд░ рд╕реБрд╡рд┐рдзрд╛ рдореЗрдВ рдЬреАрддрддреЗ рд╣реИрдВред рдФрд░ рдЬрдм рдбреАрдПрд╕рдПрд▓ рдмрдирд╛рдирд╛ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдФрд░ рдЖрд╕рд╛рди рд╣реЛрддрд╛ рд╣реИ, рддреЛ рдпрд╣ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдПрдХ рд╡рд┐рд╕реНрддреГрдд рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рд▓рд┐рдП рдПрдХ рдпрдерд╛рд░реНрдерд╡рд╛рджреА рд╡рд┐рдХрд▓реНрдк рдмрди рдЬрд╛рддрд╛ рд╣реИредрдЗрд╕ рдкреНрд░рдХрд╛рд░, рдЖрд▓реЛрдЪрдирд╛ рдХрд╛ рдЬрд╡рд╛рдм рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП - рдирд╣реАрдВ, рдбреАрдПрд╕рдПрд▓ рдХреЛ рдореВрд▓ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдЕрдзрд┐рдХ рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЬреИрд╕рд╛ рдХрд┐ рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╣реА рджреЗрдЦрд╛ рд╣реИ, рдПрдХ рдЗрдВрдЯрд░рдлрд╝реЗрд╕ рдХреЗ рд░реВрдк рдореЗрдВ, рдПрдХ рднрд╛рд╖рд╛ рд╡рд╣ рдХрд░ рд╕рдХрддреА рд╣реИ рдЬреЛ рдПрдХ рджреЗрд╢реА рдкреБрд╕реНрддрдХрд╛рд▓рдп рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛редрд╕реНрдереВрд▓ рдХреНрдпреЛрдВ?
рдЪреВрдВрдХрд┐ рд╕рднреА рдбреАрдПрд╕рдПрд▓ рдХреЛ рд░реИрдХреЗрдЯ рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдХреБрдЫ рд╕рд┐рдВрдЯреИрдХреНрд╕ рдЯреНрд░рд╛рдВрд╕рдлрд╛рд░реНрдорд░ рд▓рд┐рдЦрдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдХрд┐ рдбреАрдПрд╕рдПрд▓ рдиреЛрдЯреЗрд╢рди рдХреЛ рджреЗрд╢реА рд░реИрдХреЗрдЯ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдЗрди рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХрдиреНрд╡рд░реНрдЯрд░реНрд╕ рдХреЛ рдореИрдХреНрд░реЛрдЬрд╝ рдХреЗ рд░реВрдк рдореЗрдВ рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрдиреНрд╣реЗрдВ рд░реИрдХреЗрдЯ рд╕рдВрдХрд▓рдХ рдХреЗ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд░реНрдгрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИредрд░реИрдХреЗрдЯ рдореИрдХреНрд░реЛ рд╕рд┐рд╕реНрдЯрдо рд╡рд┐рд╢рд╛рд▓, рд╕реБрд░реБрдЪрд┐рдкреВрд░реНрдг рд╣реИ, рдФрд░ рдирд┐рд╕реНрд╕рдВрджреЗрд╣ рдЗрд╕рдХреЗ рдореБрдХреБрдЯ рдХрд╛ рдореЛрддреА рд╣реИред рдореЗрд░реА рдмрд╣реБрдд рд╕реА рдХрд┐рддрд╛рдм рд░реИрдХреЗрдЯ рдореИрдХреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЦреБрд╢реА рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реИ ред рдореИрдВ рджреЛ рдЙрддреНрдХреГрд╖реНрдЯ рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдирд╛рдо рджреЗ рд╕рдХрддрд╛ рд╣реВрдВ:- Racket , . . , , Racket , , , , , . ( . ┬л ┬╗ ).
- Racket , , . , DSL ( . ┬л┬╗ ).
DSL, , Python? рдмреЗрд╢рдХред , DSL Python тАФ
. , . . Racket.
:
, :
- ┬л , , ┬╗ . , . , , . . . , . .
- ┬л, , c Racket ┬╗ . , - Riposte , тАФ ( ):
[ ] - Racket. , , - тАж : ┬л API , ?┬╗ : ┬л Riposte┬╗. , , [DSL], , . ┬л┬╗ Racket. DSL , .
рд▓реЗрдЦ рдХреЗ рдЕрдВрдд рдореЗрдВ тАЬрд░реИрдХреЗрдЯ рдХреНрдпреЛрдВ? рд▓рд┐рд╕реНрдк рдХреНрдпреЛрдВ? тАЭ рдореИрдВрдиреЗ рдХрд╣рд╛ рдХрд┐ рд▓рд┐рд╕реНрдк рднрд╛рд╖рд╛ "рдЖрдкрдХреЛ рдПрдХ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдФрд░ рд╡рд┐рдЪрд╛рд░рдХ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдкрдиреА рдХреНрд╖рдорддрд╛ рдХреЛ рдЙрдЬрд╛рдЧрд░ рдХрд░рдиреЗ рдХрд╛ рдЕрд╡рд╕рд░ рджреЗрддреА рд╣реИ рдФрд░ рдЗрд╕ рддрд░рд╣ рдЖрдкрдХреА рдЙрдореНрдореАрджреЛрдВ рдХреЛ рдмрдврд╝рд╛рддреА рд╣реИ рдХрд┐ рдЖрдк рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред"IOP рдПрдХ рд╕рдорд╛рди рдЕрд╡рд╕рд░ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ: рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛рдПрдВ рд╣рдорд╛рд░реЗ рд▓рд┐рдП рдХреНрдпрд╛ рдХрд░ рд╕рдХрддреА рд╣реИрдВ, рдЗрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣рдорд╛рд░реА рдЕрдкреЗрдХреНрд╖рд╛рдУрдВ рдХреЛ рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдПред рднрд╛рд╖рд╛рдПрдВ рдмреНрд▓реИрдХ рдмреЙрдХреНрд╕ рдирд╣реАрдВ рд╣реИрдВред рдпреЗ рдРрд╕реЗ рдЗрдВрдЯрд░рдлреЗрд╕ рд╣реИрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рд╣рдо рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреА рдорджрдж рд╕реЗ рдХреНрдпрд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЗрд╕рдХреЗ рд▓рд┐рдП рдирдИ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЛ рдЦреЛрд▓рддреЗ рд╣реИрдВредрдпрджрд┐ рдЖрдк рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рддрдХрдиреАрдХ рдкрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рддреЛ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдЕрдм рдЬрдм рдореЗрд░реЗ рдкрд╛рд╕ рдУрдУрдкреА рдФрд░ рд░реИрдХреЗрдЯ рд╣реИ, рддреЛ рдореИрдВ рдХрднреА рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдЖрдКрдВрдЧрд╛редрдЖрдЧреЗ рдкрдврд╝ рд░рд╣реЗ рд╣реИрдВ