[Pascal] execute code

Potrzebuje funkcji która wykonywała by kod w następujący sposób np

executecode(“writeln(‘siemka’);”)

lub

executecode(“ziom:=5;”)

chodzi o to aby wykonywała kod podany w " ".

Pascal to język kompilowany do kodu natywnego. Nie da się go zmieniać po kompilacji. W C#, PHP i innych interpretowanych/uruchamianych na wirtualnej maszynie tak się da, ale nie w języku takim jak Pascal. Musisz napisać interpreter składni Pascala i całą “otoczkę” dopiero będziesz mógł wykonać kod w sposób który podałeś. Inaczej jest to niemożliwe.

Teoretycznie Fiołek ma racje, ale w praktyce … darmowa biblioteka Jedi, komponenty: TJvInterpreterProgram oraz TJvInterpreterFm

bardzo łatwa “łączność” z wnętrzem programu.

A jak to wykonać w c++ i/lub c#.

C# oferuje to “standardowo”(ma możliwość podmiany kodu w trakcie wykonywania z racji tego, że jest wykonywany na maszynie wirtualnej), jednak nie wiem jak to zrobić. Do C++ musisz sobie znaleźć bibliotekę która będzie interpretowała język o podobnej składni. AngelScript ma podobną, jednak nie wiem jak to z nim jest.

Wyżej wymieniona biblioteka Jedi może być podłączona i użyta pod Borland C++ Builder’em