Nejste přihlášen/a.

Přihlásit se do poradny

 

Jak spustit JavaCC

Od: slavekkrista* odpovědí: 18 změna:

Dobrý den. Mám za úkol napsat referát o tom, jak funguje parser JavaCC. Bohužel se mi jej nedaří spustit nebo spíše vůbec nevím jak ho správně spustit. Když totiž spustím .jar file v /bin/lib tak se nic nestane. Jak jinak tento parser spustit jsem bohužel nezjistil. Kdybyste mi mohl někdo pomoci a napsal mi stručný návod, byl bych vám opravdu vděčný.

Slávek Křišta

 

 

18 odpovědí na otázku
Řazeno dle hodnocení

 

 

horak*

2x
vytvoril bych si na zacatek Batch soubor nekde v Dokumentech a upravil ho treba takto : java pause potom bych ho nakopiroval do adresare Javy .../bin (u me c:Program Files (x86)Javajre7bin) a zde spustil. Dosatnu vypis parametru volani Javy nasledne bych vytvoril dalsi batch soubor a v nem java -jar nazev.jar pause tim se to otestuje Predpokladm, ze batch soubor znas: vytvorim TEST.txt soubor s obsahem viz vyse a prjmenuji na TEST.bat Je to jen pro otestovani funkcnosti, jinak se to resi jinak. Ale snad na zacatek
slavekkrista*

S .bat souborem sice pracuji poprvé, ale spustit jej nebyl problém.

java test proběhl vpořádku

test mého .jar (tedy .jar souboru z javacc-6.0) souboru napsal to, co je na obrázku - tedy že v něm chybí main (spouštěcí) třída...

Když jsem ještě hledal nějaké návody, nalezl jsem u instalace toto: Once you have completed installation, add the bin directory within the JavaCC installation to your path. The javacc, jjtree, and jjdoc invocation scripts/executables reside in this directory. (Instalace byla pouze unzip) - Bohužel nevím, co tím autor přesně myslí...

slavekkrista*

Oprava obrázku: 2imgs.com/...
horak*

Stahnete si 7-zip a po spusteni v nem pokepanim editujte soubor jar. Mela by v nem byt sekce META-INF a MANIFEST.MF

slavekkrista*

Ano. javacc.jar jsem si otevřel v AltapSalamandru (stejné jako 7-zip). Soubor MANIFEST.MF tam je. Co bych měl udělat nyní?

horak*

Asi uz je na case otazka, v jakem prostredi tvoris? Pokud v Eclipse, tak aby sel spustit jar tak, jak popisuji, tak je nejjednodussi ho vyexportovat jako Runnable JAR a napr volbou Package required libraries into generated jar

doplněno 04.01.14 15:28:

pro vypis parametru pro javacc
do batch souboru napsat

java -cp javacc.jar javacc
pause
slavekkrista*

Pracuji v prostředí NetBeans IDE 7.2.1 nebo novější... Bohužel v tomto prostředí nevím jak .jar soubor spustit. Umím ho zde otevřít pouze jako složku se soubory. Pracoval jsem také s prostředním BlueJ, ale ten nevím, jestli by byl pro tento problém lepší.

horak*

a ten bach soubor co jsem doplnil v doplnku, ten funguje?

Predpokladam, ze ukolem je popsat moznosti (parametry viz obr)

slavekkrista*

Ano, ten funguje. Výpis je skoro stejný: 2imgs.com/...

horak*

takze ukol : jak funguje znamena, bud to z parametru vypsat a odzkouset v cmd modu nebo javacc integrovat do pouzivaneho editoru.
U me konkretne pro Eclipse :
sourceforge.net/...

slavekkrista*

Já našel k NetBeans toto: plugins.netbeans.org/... Avšak jak to nějak nacpat do NetBeans nevím... A s vaším programem bohužel vůbec neumím. Je mi hlavně divné, že ten .jar soubor nejde normálně spustit a píše chybu u toho manifestu, i když tam je...

horak*


java _cp nebo java -jar


Pod -cp to jde protoze :

-cp má menší nástrahy ("classpath").Druhý vyžaduje spustitelný jar soubor a classpath pro danou aplikaci musí být definován v manifestu jar (všechny ostatní classpath manifest budou ignorovány ...). Takže s druhou verzí byste se podívat do JAR, přečtete manifest a tak zjistit, zda jsou položky Classpath jsou platné od místa, kde je uložen jar ... To je zbytečné.
slavekkrista*

Možná trochu chápu... V manifest mám napsáno toto:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.7.0_21-b02 (Oracle Corporation)
doplněno 04.01.14 22:10:

No, tak chápu to, že tam asi něco chybí. Co dělat s -jar nebo -cp nevím...

slavekkrista*

Našel jsem ještě tohle video. Řídil jsem se podle něho, ale bohužel spuštění tam už pak ukázáno není. Spustit to pomocí toho .bat souboru, co jste mi psal to i tak nejde...

doplněno 05.01.14 15:35:

Video:


A povedlo se mi sprovoznit toto: http://2imgs.com/837a7a5083

Co to znamená přesně nevím. V javacc-5.0 je to .bat soubor javacc s příkazem:


@echo off

java -classpath "%~dp0libjavacc.jar;%~dp0libjavacc.jar;%~f0..libjavacc.jar" javacc %1 %2 %3 %4 %5 %6 %7 %8 %9
pause

 

horak*

to co je popsano ve videu je doplneni definice PATH - cesty k relativnimu volani prikazu. Tzn., aby nebylo nutno definovat uplnou cestu (PATH) k casto pouzivanym prikazum, tak se dodefinuje PATH v promennych systemu. V tomto pripade volani Javy. Vyhody jsou viz vyse popsano, nevyhody, ze pokud chci Javu odjinud, tak bude volana vzdy ta z PATH vyjma pripadu, ze stojim primo v adresari volaneho prikazu. Takze bude-li mi chybet v aktualnim adresari nejaka soucast Javy, tak se bude pouzivat ta z PATH. To muze vest k spatne prenositelnym nastavenim.

slavekkrista*

Aha. Takže bych to měl spíše vrátit z5 a zkoušet to řešit dále jinak...?

horak*

Rekl bych, ze zatim nechat, at se to da nejak pouzivat bez hledani vselijakych knihoven. Pri distribuci se to musi ohlidat jinak. Potom se clovek diva na knihovny od kud jsou brane (je tam videt cesta).

slavekkrista*

Amohl bych se zeptat - Vy jste JavaCC spustil jak? Co vše jste musel nastavit?

doplněno 06.01.14 09:46:

Mě už se tedy povedlo sprovoznic příkaz javacc v cmd. Kde jsem tedy pomocí příkazu javacc Simple1.jj vytvořil "nové soubory", poté je převedl na .java pomocí javac *.java. Konečná struktura má pak být java Simple1 NĚCO - A zde jsem se opět zasekl, protože nevím co s čím vlastně porovnávám. Myslím si, že je to Simple1 jako Lexicon a NĚCO bude to, co tím lexiconem porovnávám - je to tak?

 

 


 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz.

Používáním poradny vyjadřujete souhlas s personifikovanou reklamou, která pomáhá financovat tento server, děkujeme.

Copyright © 2004-2025 Poradna Poradte.cz. Všechna práva vyhrazena. Prohlášení o ochraně osobních údajů. | [tmavý motiv]