Privacy Policy Cookie Policy Terms and Conditions Intercal - Wikipédia

Intercal

Z Wikipédie

Intercal je programovací jazyk, ktorý ma za cieľ vyzerať úplne inak ako akýkoľvek iný jazyk.

Obsah

[úprava] História

Jazyk Intercal bol navrhnutý skoro ráno 26. Mája 1972 Donald R. Woodsom a James M. Lyonom na Princetonskej univerzite. Približne osemnásť rokov neskôr Eric S. Raymond vytvoril implementáciu C-INTERCAL, ktorá je odvtedy udržiavaná komunitou masochistov.

Celé meno jazyka znie "Compiler Language With No Pronounceable Acronym" (počítačový jazyk bez vysloviteľnej skratky).

[úprava] Opis jazyka

[úprava] Premenné

Intercal pozná dva typy premenných - 16bitové a 32bitové neznamienkové celé čísla. Premenné nemajú meno, ale číslo (1..65535), pred ktorým sa píše fľak (.) ak sa jedná o 16bitovú premmenú alebo dvojfľak (:) pre 32bitové premmenné. Rovnako označené 16 a 32bitové premenné sú dve rôzne hodnoty.

[úprava] Konštanty

Konštanta je 16bitová hodnota od 0 do 65535 pred ktorou sa píše mreža (#).

[úprava] Polia

Polia pre 16bitové hodnoty su označené chvostíkom (,) a pre 32bitové hodnoty hybridom (;) nasledované číslom od 1 po 65535. Potom nasleduje slovo SUB nasledované indexami pola oddelenými medzerami. index môže byť ľubovoľný výraz.

Všimnime si, že .123, :123, #123, ,123, a ;123 sú úplne odlišné výrazy.

[úprava] Operátory

Jazyk pozná 5 operátorov. 2 binárne a 3 unárne. Prosím, budťe k nim milí: Nie sú veľmi múdre ale sú všetko čo máme

Binárne operátory:

  • spojiť (interleave) - označovaný sko veľké prachy ($). Vezme dva 16-bitové operandy a výsledok vytvorí striedaním ich bitov. Napríklad #65536$#0 je v binárnej sústave 101010....10 a #0$#65536 je 010101...01
  • vybrať (select) - označovaný ako sínusoida (~), vyberá tie bity s prvého operandu, kde má druhý operand jednotky a vracia ich vo výsledku natlačené na pravej strane. Pred prevedením tejto operácie sú obidva operandy rozšírené na 32bitov. Napríklad #179~#201 (binárne 10110011~11001001) vyberá 8., 7., 4. a 1. bit prvého argumetu, čo je 1001 = 9.

Unárne operátory:

  • & - logický AND
  • V - logický OR
  •  ? - logický XOR

Unárne operátory sa vkladajú medzi fľak, dvojfľak, chvostík alebo čokolvek čo je pred operandom a číslo. Naraz môže byť požitý najviac jeden unárny operátor. Tieto operátory fungujú na všetkých dvojiciach po sebe idúcich bitov a výsledok z prvého a posledného bitu ide do prvého bitu výsledku. Napríklad #&77 (binárne = 1001101) je binárne 0000000000000100 = 4, #V77 je binárne 1000000001101111 = 32879 a #?77 je binárne 1000000001101011 = 32875.

[úprava] Priorita operátorov

Žiadna neexistuje. Napriek tomu môžeme výrazy uzatvárať medzi iskričky (') alebo zajačie uši ("). Čiže '#165c./#203'~#358 (bnárne '10100101c./11001011'~101100110) je 15, ale #165c./'#203~#358' je 34915 a #165c./#203~#358 je nesprávna syntax bez hodnoty. Unárny operátor je požitý na celý výraz, keď je vložený hneď pred prvú iskričku alebo ucho.

[úprava] Príkazy

Príkaz obsahuje:

  • nepovinné návestie uzavreté v ()
  • slovo PLEASE, DO alebo PLEASE DO. Z týchto slov si môžeme voľne vybrať a zvýšiť tak estetickosť nášho programu
  • nepovinné slovo NOT alebo N'T
  • nepovinné číslo od 0 do 100 pred ktorým je dve-nuly-sedem (%) udávajúce pravdepodobnosť v percentách že príkaz bude vykonaný
  • samotný príkaz

[úprava] Zoznam príkazov

  • (návestie) NEXT
  • FORGET
  • RESUME
  • STASH
  • IGNORE
  • REMEMBER
  • ABSTAIN
  • REINSTATE
  • WRITE IN
  • READ OUT
  • GIVE UP
  • ...

[úprava] Odkazy

  • stránka venovaná intercalu [[1]]
THIS WEB:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -

Static Wikipedia 2007:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu

Static Wikipedia 2006:

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - be - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - closed_zh_tw - co - cr - cs - csb - cu - cv - cy - da - de - diq - dv - dz - ee - el - eml - en - eo - es - et - eu - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gd - gl - glk - gn - got - gu - gv - ha - haw - he - hi - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mg - mh - mi - mk - ml - mn - mo - mr - ms - mt - mus - my - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - rm - rmy - rn - ro - roa_rup - roa_tara - ru - ru_sib - rw - sa - sc - scn - sco - sd - se - searchcom - sg - sh - si - simple - sk - sl - sm - sn - so - sq - sr - ss - st - su - sv - sw - ta - te - test - tet - tg - th - ti - tk - tl - tlh - tn - to - tokipona - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu