Skip to content

Commit

Permalink
Merge branch 'master' of bitbucket.org:tkohout/ostrajava
Browse files Browse the repository at this point in the history
  • Loading branch information
tkohout committed Dec 18, 2015
2 parents bd48fe3 + 89d1fbc commit ada4423
Showing 1 changed file with 88 additions and 20 deletions.
108 changes: 88 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# OSTRAJava #

OSTRAJava má za cíl pozvednout kvalitu (nejen ostravského) programování. Na rozdíl od Javy vychází přímo z ostravského nářečí, tedy jazyka který obyčejní lidé používají. Typický ostravský horník pak nebude mít problém přejít od těžby rudy ke klávesnici. Jazyk tak mimo jiné řeší i problém nezaměstnanosti na moravsko-slezsku.
OSTRAJava má za cíl pozvednout kvalitu (nejen ostravského) programování. Na rozdíl od Javy vychází OSTRAJava přímo z mluveného jazyka (ostravského nářečí), tedy z něčeho čemu obyčejní lidé rozumějí. Typický ostravský horník pak nebude mít problém přejít od těžby rudy ke klávesnici. Jazyk tak mimo jiné řeší i problém nezaměstnanosti na moravsko-slezsku.

## Syntaxe ##

### Hello world ###
### Příklad 1 - Hello world ###
Zde je typický Hello world program v OSTRAJavě.
```
#!java
Expand Down Expand Up @@ -40,14 +40,68 @@ Hodnoty:
* *nyt* - false
* *chuj* - null

Základní knihovna OSTRAJavy také obsahuje tridy
Základní knihovna OSTRAJavy také obsahuje třídy

* **Dryst** - ekvivalent String.
* **Bazmek** - vsechny tridy dedi implicitne z teto tridy. Obsahuje metody naDryst() a kantuje(Bazmek b), ekvivalent pro toString() a equals(Object o)
* **Citac** - cteni ze souboru
* **Konzola** - vypis do konzole
* **Bafr** - jednoduchý buffer na čtení charů

### Deklarace ###
Deklaraci je nutno začít klíčovým slovem **toz**

```
#!java
toz cyslo i = 1 pyco
```


### Podmínky ###
Pro vytvoření podmínky použijeme konstrukt **kaj** - **kajtez** - **boinak**

Jednotlivé výrazy můžeme spojovat pomocí boolenovského **bo** (or) a **aj** (and)

```
#!java
toz bul a pyco
toz bul b pyco
//...
kaj (a == fajne bo b == fajne){
// ...
} kajtez (a == nyt aj b == fajne){
// ...
} boinak {
// ...
}
```

### Cykly ###
Cyklus má OSTRAJava pouze jeden. Pomocí **rubat** vytvoříme while.

Rubat cyklus se dá přeřušit pomocí **zdybat** (break) a nebo přeskočit jeden cyklus pomocí **dlabat** (continue)

```
#!java
toz cyslo i = 0 pyco
rubat (i < 5){
kaj (i == 4){
zdybat pyco
}
//...
i = i+1 pyco
}
```

### Příklad 2 ###
Následuje jednoduchý příklad na čtení ze souboru

```
#!java
banik pyco
Expand All @@ -62,14 +116,7 @@ tryda Priklad2 {
radka = c.citajRadku() pyco
rubat (radka != chuj){
kaj (radka.kantuje("neco")){
dlabat pyco
} kajtez (radka.kantuje("neco jineho")){
// ...
} boinak {
zdybat pyco
}
// ...
radka = c.citajRadku() pyco
}
c.zavr() pyco
Expand All @@ -80,14 +127,6 @@ fajront pyco
```

Na výše uvedém příkladu se napřed vytvoří nová instance třídy *Citac* pomocí klíčového slova **zrob**. Deklarace nové proměnné začíná klíčovým slovem **toz**.

Poté se pomocí while cyklu (klíčové slovo **rubat**) načtou jednotlive řádky.

Pomocí if statementu (**kaj** - **kajtez** - **boinak**) se pak zpracuje vstup.

Rubat cyklus se dá přeřušit pomocí **zdybat** (break) a nebo přeskočit jeden cyklus pomocí **dlabat** (continue)

### Dědičnost ###

```
Expand Down Expand Up @@ -120,8 +159,37 @@ fajront pyco
```

OSTRAJava je samozřejmě jazyk objektový.
OSTRAJava je samozřejmě jazyk objektový. Pokud chceme uvést třídu z které chceme dědit použijeme konstrukt **fagan od**.

**joch** slouží jako reference na vlastní instanci tedy ekvivalent this

**forant** tedy předák na šichtě slouží jako reference na rodiče, tedy ekvivalent super

nový objekt vytvoříme pomocí **zrob**

Pokud bychom chtěli vytvořit pole uděláme to následovně

```
#!java
toz cyslo[] pole = zrob cyslo[5] pyco
```

### Metody ###
Navratový typ metody se píše stejně jako v javě před název metody. Pro metodu s prázdným návratovým typem není třeba psát nic.

Pro navrácení hodnoty je použito klíčové slovo **davaj**

```
#!java
tryda Buu{
cyslo fuu(Dryst text){
//...
davaj text.dylka pyco
}
}
```

## Implementace ##

Expand Down

0 comments on commit ada4423

Please sign in to comment.