Files

5.3 KiB

Tampio Cheatsheet

Tampio uses Finnish grammatical cases instead of syntax tokens like (, ), ,, .. The case of a word tells the compiler its role — parameter, argument, target, etc.

Finnish Cases in Tampio

Case (Finnish) Suffix Role in Tampio Example
Nominatiivi Function name; return value; variable base form kertoma, pieni luku
Genetiivi -n Function parameter (in definitions and calls); field access pienen luvun kertoma
Illatiivi -in/-iin/-aan/-ään Addend (lisättynä); remainder arg (rajattuna); assignment target (luetaan luku) lisättynä kaniin
Adessiivi -lla/-llä Multiplicand (kerrottuna); subtrahend (vähennettynä); divisor (jaettuna); increment amount kerrottuna kertomalla
Translatiivi -ksi Assignment lvalue (asetetaan) kuvaukseksi asetetaan
Partitiivi -a/-ä/-ta/-tä Increment lvalue (kasvatetaan); some quantifiers laskuria kasvatetaan
Essiivi -na/-nä Two-parameter function name; type conversion merkkijonona, kerrottuna

Arithmetic Operators

These are essive functions — the first operand is the subject, the second follows the operator in the case shown.

Operator Second arg case JavaScript Example
lisättynä illative + x lisättynä y:hin
ynnättynä illative + x ynnättynä y:hin
kasvatettuna adessive + x kasvatettuna y:llä
vähennettynä adessive - x vähennettynä y:llä
kerrottuna adessive * x kerrottuna y:llä
jaettuna adessive / x jaettuna y:llä
rajattuna illative % x rajattuna y:hin
yhdistettynä illative .concat x yhdistettynä y:hin

Operator chaining is controlled by list separators (see Lists below):

x jaettuna y:llä vähennettynä z:lla lisättynä w:hen     # x/(y-(z+w))
x jaettuna y:llä, vähennettynä z:lla ja lisättynä w:hen # ((x/y)-z)+w

Function Definition

[parameter/genitive] [function name] on [expression].

The parameter must be two words: an adjective + class name. Use se to refer to it in the body.

Pienen luvun kertoma on
    riippuen siitä, onko se pienempi tai yhtä suuri kuin yksi,
    joko yksi
    tai pieni luku kerrottuna pienen luvun edeltäjän kertomalla.

Or with unnamed parameter (se = this):

Luvun edeltäjä on se vähennettynä yhdellä.

Function Call

[argument/genitive] [function name]
viiden kertoma      # factorial(5)
neljän neliöjuuri   # sqrt(4)

Ternary Expression

riippuen siitä, [onko/eikö] [expr] [operator] [expr], joko [a] tai [b]
riippuen siitä, onko se pienempi tai yhtä suuri kuin yksi, joko yksi tai ...

Comparison Operators

Used in ternaries and jos conditions.

Tampio JavaScript
on (empty) ==
on yhtä suuri kuin ==
on sama kuin ===
on erisuuri kuin !=
on pienempi kuin <
on suurempi kuin >
on pienempi tai yhtä suuri kuin <=
on enintään <=
on suurempi tai yhtä suuri kuin >=
on vähintään >=

Negate with ei ole: se ei ole nolla = this !== 0.

Variable Declaration

Olkoon [name] uusi [type], jonka [field] on [value].
Olkoon [name] [value].
Olkoon pieni muuttuja uusi muuttuja, jonka arvo on nolla.

Method Definition (Procedures)

Kun [self] [verb] [parameters],
    [statement],
    [statement]
ja  [last statement].
Kun nykyinen sivu avautuu,
    pieneen muuttujaan luetaan luku
ja  nykyinen sivu näyttää pienen muuttujan arvon kertoman.

If Statement

, jos [condition], niin [statement list]
, jos taas [condition], niin ...   # else if
jos listan koko ei ole nolla, niin
    listan ensimmäinen alkio käsitellään
ja  listan häntää iteroidaan.

Lists (Blocks)

Commas and ja replace { / }:

Syntax Meaning
[a], [b], [c] ja [d] List of four items
[a] eikä muuta List of one item
[a]. List of one item (at end of definition)

Class Definition

[class name/adessive] on [field list].
Vektorilla on komponentit.                        # class vektori { komponentit = [] }
Työntekijä on henkilö, jolla on työnantaja.       # class Tyontekija extends Henkilö

Assignment

[lvalue/translative] asetetaan [expression]       # lvalue = expression
[lvalue/partitive] kasvatetaan [expression/adessive]  # lvalue += expression
kivan kaverin kuvaukseksi asetetaan teksti "Hän on kiva"
loistavaa laskuria kasvatetaan yhdellä

Common Built-ins

Tampio JavaScript Notes
nykyinen sivu document HTMLDocument
nykyinen sivu näyttää X document.write(X)
teksti "..." "..." String literal
lause "..." "..." String literal (alternative)
muuttujaan luetaan luku muuttuja.arvo = parseInt(prompt(...)) Read number
X näytetään käyttäjälle alert(X) Browser alert
se this Self / first parameter
nollakymmenen 010 Number literals