eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingMały parser własnych funkcjiRe: Mały parser własnych funkcji
  • Path: news-archive.icm.edu.pl!agh.edu.pl!news.agh.edu.pl!newsfeed2.atman.pl!newsfeed.
    atman.pl!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!news.dialog.net.pl!
    not-for-mail
    From: Łukasz 'Maly' Ostrowski <m...@U...pl>
    Newsgroups: pl.comp.programming
    Subject: Re: Mały parser własnych funkcji
    Date: Mon, 30 Apr 2012 12:40:17 +0200
    Organization: Acme
    Lines: 32
    Message-ID: <kg9clhyuuk68.1nay93cnmqud9$.dlg@40tude.net>
    References: <14036771.3474.1335779189728.JavaMail.geo-discussion-forums@vbuo17>
    NNTP-Posting-Host: static-78-9-71-129.ssp.dialog.net.pl
    Mime-Version: 1.0
    Content-Type: text/plain; charset="utf-8"
    Content-Transfer-Encoding: 8bit
    X-Trace: news.dialog.net.pl 1335782447 28788 78.9.71.129 (30 Apr 2012 10:40:47 GMT)
    X-Complaints-To: a...@d...net.pl
    NNTP-Posting-Date: Mon, 30 Apr 2012 10:40:47 +0000 (UTC)
    User-Agent: 40tude_Dialog/2.0.15.1
    Xref: news-archive.icm.edu.pl pl.comp.programming:197031
    [ ukryj nagłówki ]

    On Mon, 30 Apr 2012 02:46:29 -0700 (PDT), m...@o...pl wrote:
    > <snip>
    > Taki jest zamysł na potrzebną funkcjonalność. Ale koniecznym wśród wymagań
    > jest potrzeba skompilowania(?) tego tak by można było tylko podstawiać
    > parametry i wykonywać kod otrzymując wynik - wyrażenie będzie po prostu
    > wykonywane dla bardzo dużej ilość danych i nie wyobrażam sobie żeby pod
    > parametry podstawiać za każdym razem wartość i parsować całe wyrażenie
    > na nowo.
    >
    > I pytanie, bo zanim zacznę wynajdywać koło na nowo, czy jest już coś
    > od czego mógłbym zacząć? Docelowo rozwiązanie jest tworzone na środowisko .NET.

    Generalnie, powinieneś się zainteresować:
    1. CSharpCodeProvider -
    http://msdn.microsoft.com/en-us/library/microsoft.cs
    harp.csharpcodeprovider.aspx
    http://support.microsoft.com/kb/304655
    3.
    http://www.codeproject.com/Articles/3289/Dynamic-Cod
    e-Generation-and-Code-Compilation
    4. I całą masę przykładów/tutoriali do CodeDOM dostępną via google.

    W skrócie, generujesz sobie string z poprawnym kodem C#owym(*) i
    kompilujesz go w locie, a następnie via refleksja lub interfejsy
    wywołujesz te dynamicznie skompilowane metody.

    *) Czyli wymuszasz składnię C# w swoich wyrażeniach, albo przerabiasz
    "swój customowy język" na C# jakimś prostym zestawem Regexów w stylu:
    Zastąp łańcuch "format" łańcuchem "string.Format", zamiast "cos" "Math.Cos"
    etc.

    --
    Pozdrawiam,
    Łukasz 'Maly' Ostrowski. http://l3v.pl/

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: