Kompilacja kodu online

0

Witam

Jak zrobic cos takiego jak np na stronie http://www.onlinecompiler.net/index.html

a dokladniej , jak uruchomic kompilator " na stronie"

Dzieki za podpowiedzi

Pozdraiwam

0

Dla mnie to jasne, że programy nie są uruchamiane na stronie. W moim pytaniu (może zbyt ogólnie to ująłem) chodzi właśnie o to jaki mechanizm zaprząc do pracy aby nie musieć pisać własnego parsera pascala (w np php). Ideałem byłaby gotowa biblioteka która uruchamia podesłany kod źródłowy i zwraca rezultat jego działania - jeśli jesteś w stanie podpowiedzieć coś konkretnego to byłbym wdzięczny.

0

Tam nie ma żadnego parsera. Kod źródłowy z <textarea> jest kompilowany przez oddzielny proces, nie przez sam skrypt webowy na serwerze.

0

Ale to jedyna metoda jaką na chwilę obecną znam, tzn z textarea "wciągam" treść i ręcznie (kod napisany w php) "wykonuję" program pascalowy. A właśnie chodzi mi o to aby proces usprawnić i być może skorzystać z jakiegoś gotowca gdyż mój parser już jest bardzo rozbudowany a i tak do doskonałości mu BAAARDZO daleko.
Być może jest jakiś mechanizm, który odwali robotę za mnie :)

ps. Informacja jakim procesie wspominasz i jak się do niego dobrać byłaby mile widziana.

1

Zasada działania (najprostsza) takiego systemu:

  1. User wpisuje kod na stronie.
  2. System zapisuje kod do pliku zapisanyplik.kod
  3. System wywołuje kompilatorwybranegojęzyka.exe zapisanyplik.kod
  4. System odbiera komunikaty wysyłane przez kompilator na konsolę i wyświetla na stronie
  5. Jeśli kod wyjścia == 0 to uruchom skompilowany program i wyświetl na stronie, to, co program przekazał do konsoli.

Tutaj nie ma żadnego dodatkowego parsera oprócz tego, co już zostało zrobione dla danego języka programowania. Korzysta się z gotowych kompilatorów, byle działały na danej platformie/architekturze.

0
Ktos napisał(a)
  1. User wpisuje kod na stronie.
  2. System zapisuje kod do pliku zapisanyplik.kod
  3. System wywołuje kompilatorwybranegojęzyka.exe zapisanyplik.kod

Ja bym dodał, że pkt 3 robi się w izolowanym środowisku, tak samo jak i samo uruchomienie kompilatu.

0

To teraz brakuje mi tylko informacji jak na zewnętrznym (wykupionym) serwerze coś takiego uruchomić...
Dodam, że chodzi o serwer Apache.

0

Piszesz byle jaki skrypt do tego i tyle. Musisz mieć tylko poinstalowane kompilatory na serwerze. Sterowanie kompilacją i sama kompilacja jest poza "warstwą sieciową" więc bez znaczenia czy masz tam Apache czy coś innego.

0
mroofka napisał(a)

Dodam, że chodzi o serwer Apache.

Apache to jest serwer WWW (program). Do kompilacji potrzebujesz znacznie więcej. Przede wszystkim na maszynie musi być zainstalowany kompilator i konieczne narzędzia. Do tego musisz mieć możliwość uruchomienia programów w zamkniętym środowisku (takich środowisk musi być tyle, ile jednoczesnych kompilacji dopuszczasz). Jeśli kompilator działa tylko pod systemem Windows (np. Delphi), serwer musi także działać pod tym systemem (lub co najmniej zamknięte środowiska, ale to będzie znacznie trudniejsze do zrealizowania).
Zatem sam hosting WWW to zbyt mało.

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0