GithubHelp home page GithubHelp logo

ostrajava's People

Contributors

adamkudrna avatar kkozlik avatar madvorak avatar martin005 avatar poirot12345t avatar soustruh avatar tkohout avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ostrajava's Issues

Výjimky

Exception => Flakanec
throw => dostanes - nebude nutne davat zrob a ()
throws => rozdava
try => pultik
catch => bitka

Priklad:

Drist drystaniPredMicrofonem() rozdava Flakanec {
	kaj (mikrofon != chuj aj mikrofon.zapnuty) {
		davaj "Hanzel desitka" pyco
	} boinak {
		dostanes Flakanec pyco
	}
}

pultik {
	drystaniPredMicrofonem() pyco
} bitka(Flakanec f) {
	soudruziPomoc() pyco
}

[Exception]

Compile vždy na dá na první řádek "????"
Run pak vyhodí exception že "????" není číslo.

Pochopil jsem správně spouštění? Compile a pak Run?

Je vůbec nutné používat odřádkování?

Vzhledem k dovedně zvolenému oddělovači řádků — je nutné, aby kód používal tolik odřádkovávání? Snad by každý program měl být vždy one-liner, což je zároveň blízké způsobu ostravské mluvy.

Program nelze spustit mimo adresář z gitu

Mám na PC složku, ve které mám soubor CURRENT.cyp s OSTRAJava programem. Složku staženou z githubu jsem si dal do /usr/lib/OSTRAJava, aby byla přístupná odkudkoliv. Na kompilaci jsem si vytvořil jednoduchý skript:

#!/bin/sh

clear
echo "\n\n\nKompiluji..."

cesta=$(pwd)
cd /usr/bin/OSTRAJava/
./ostrajavac -d "$cesta/" "$cesta/CURRENT.cyp" "$cesta/znaky.txt"

echo "Spouštím..."

./ostrajava "$cesta/"

Ve složce $cesta mám soubor, ze kterého chcu, aby OJ četla. Problém je, že program ostrajava sice spouští program ve složce $cesta, ale spouští ho z adresáře /usr/bin/OSTRAJava/. A program $cesta tudíž na soubor v adresáři $cesta nevidí.
Mohl bych příkaz ./ostrajava "$cesta/" nahradit příkazy cd "$cesta" a /usr/lib/OSTRAJava/ostrajava ., jenže program ostrajava má očividně nějaké podivné závislosti.

Jak to mám vyřešit? Nesouvisí s tímto problémem trochu toto?
Děkuji

Tabulator za kajtez generuje chybu prekladu

Zda se ze u OSTRAjavy obecne nezalezi na tom zda je pouzita mezera nebo tabulator. Ale pri pouziti tabulatoru za kajtez dochazi k chybe prekladu.

Testovaci kod:

    cyslo chacharNaCyslo(chachar nejakyChachar){
        kaj (nejakyChachar == 'A')    { davaj 1 pyco } 
        kajtez (nejakyChachar == 'B') { davaj 2 pyco }
        kajtez (nejakyChachar == 'C') { davaj 3 pyco }
        kajtez (nejakyChachar == 'D') { davaj 4 pyco }
        kajtez (nejakyChachar == 'E') { davaj 5 pyco }
        kajtez (nejakyChachar == 'F') { davaj 6 pyco }
        boinak {
            Konzola.pravit("Fcil sme v pyci") pyco
            davaj 0 pyco
        }
    }

Pokud je za kajtez pouzita pouze mezera, preklad probehne bez problemu. Pokud pouziju tabulator dostanu pri prekladu nasledujici chybu:

parse error in file Ostrava.cyp: Encountered " "kajtez" "kajtez "" at line 20, column 17.
Was expecting one of:
"toz" ...
"forant" ...
"joch" ...
"chuj" ...
"fajne" ...
"nyt" ...
"zrob" ...
"kaj" ...
"boinak" ...
"rubat" ...
"zdybat" ...
"dlabat" ...
"davaj" ...
"dechrobok" ...
<INTEGER_LITERAL> ...
<FLOATING_POINT_LITERAL> ...
<CHARACTER_LITERAL> ...
<STRING_LITERAL> ...
"(" ...
"}" ...
...

Exception in thread "main" cz.cvut.fit.ostrajava.Parser.ParseException: Encountered " "kajtez" "kajtez "" at line 20, column 17.
Was expecting one of:
"toz" ...
"forant" ...
"joch" ...
"chuj" ...
"fajne" ...
"nyt" ...
"zrob" ...
"kaj" ...
"boinak" ...
"rubat" ...
"zdybat" ...
"dlabat" ...
"davaj" ...
"dechrobok" ...
<INTEGER_LITERAL> ...
<FLOATING_POINT_LITERAL> ...
<CHARACTER_LITERAL> ...
<STRING_LITERAL> ...
"(" ...
"}" ...
...

    at cz.cvut.fit.ostrajava.Parser.OSTRAJavaParser.generateParseException(OSTRAJavaParser.java:4393)
    at cz.cvut.fit.ostrajava.Parser.OSTRAJavaParser.jj_consume_token(OSTRAJavaParser.java:4271)
    at cz.cvut.fit.ostrajava.Parser.OSTRAJavaParser.Block(OSTRAJavaParser.java:2502)
    at cz.cvut.fit.ostrajava.Parser.OSTRAJavaParser.MethodDeclaration(OSTRAJavaParser.java:480)
    at cz.cvut.fit.ostrajava.Parser.OSTRAJavaParser.ClassBodyDeclaration(OSTRAJavaParser.java:156)
    at cz.cvut.fit.ostrajava.Parser.OSTRAJavaParser.ClassDeclaration(OSTRAJavaParser.java:118)
    at cz.cvut.fit.ostrajava.Parser.OSTRAJavaParser.CompilationUnit(OSTRAJavaParser.java:38)
    at cz.cvut.fit.ostrajava.Compile.parse(Compile.java:183)
    at cz.cvut.fit.ostrajava.Compile.exec(Compile.java:69)
    at cz.cvut.fit.ostrajava.Main.main(Main.java:28)

Feature Request: Možnost importu java knihoven

Aktuálně není možné zkompilovat program používající java třídy.

banik pyco

import java.util.Date pyco

tryda Ostrava{
rynek(){
toz Date d = new Date() pyco
Konzola.pravit(d.getTime().naDryst()) pyco

}

}

fajront pyco

Unit Testing

Kvalitní SW je též třeba testovat. Proto je nutné též bývalým horníkum nabídnout podporu k získání dobrých programovacích návyků za pomoci knihovny PorubaUnit:

banik pyco

@ZkouskaJednotkova
parlamentniDivadylko() {
    toz Mikrofon mikrofon = zrob Microfon() pyco
    toz Nahoda nahoda = zrob Nahoda() pyco
    toz cyslo i = 0 pyco

    rubat (i < 500) {
        microfon.zapnuty = nahoda.dejDalsiBul() pyco
		
	kaj (microfon.zapnuty) { 
            toz Dryst dryst = toSeKurvaNepojebe { drystaniPredMicrofonem(mikrofon) } pyco

            tvrdimZe(dryst).seMusiKurvaRovnat("Hanzel desitka") pyco
        } boinak {
            ubaliFlakanecJakCyp { drystaniPredMicrofonem(mikrofon) } pyco
        }

        i = i + 1 pyco
    }
}

fajront pyco

Feature request: distribuce zkompilovane ostrajavy

Dobry den,
nezvazujete distribuovat krome zdrojovych kodu take zkompilovanou ostrajavu? Patrne by stacil nejaky zip/tgz ktery by obsahoval prelozeny jar a ostrajava_lib.

Nasim uzivatelum by to velmi zjednodusilo pouziti ostrajavy.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.