eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Pisanie prekompilatora -- jak sie zabrac?
Ilość wypowiedzi w tym wątku: 9

  • 1. Data: 2010-04-26 06:17:13
    Temat: Pisanie prekompilatora -- jak sie zabrac?
    Od: Maciej Pilichowski <P...@g...com>

    Hej,

    Chcialbym napisac cos w rodzaju prekompilatora, programik, ktory
    rozszerzy mi kilka "makr" do jezyka docelowego, tak aby pozniej
    wlasciwy kompilator juz sie zabral do pracy.

    Mysle na razie o C++ i chcialbym zaczac od czegos w stylu:

    string @ptr;

    aby mi to zamienialo na

    shared_ptr<string> ptr;


    Nastepne w kolekcje jest foreach (for z iteratorami) i lambda. To tak
    na dobry poczatek, zeby miec lepsze srodowisko pracy.

    Jak sie do tego zabrac, aby w miare szybko zobaczyc rezultaty swojej
    pracy, ale tez zeby to nie bylo proste search&replace (tj. aby za
    chwile nie trzeba bylo calosci przepisywac od zera, tym razem
    porzadnie).

    Polskojezyczna literature teoretyczna na ten temat mam w komplecie,
    ale chodzi mi bardziej o rzeczy z dopiskiem "stosowane".

    Z gory dzieki za wskazowki, linki.

    milego dnia, hej


  • 2. Data: 2010-04-26 06:49:30
    Temat: Re: Pisanie prekompilatora -- jak sie zabrac?
    Od: Krzysiek Kowaliczek <k...@g...com>

    Użytkownik Maciej Pilichowski napisał:
    > Chcialbym napisac cos w rodzaju prekompilatora, programik, ktory
    [...]
    > string @ptr;
    > aby mi to zamienialo na
    > shared_ptr<string> ptr;
    >
    >
    > Nastepne w kolekcje jest foreach (for z iteratorami) i lambda. To tak
    > na dobry poczatek, zeby miec lepsze srodowisko pracy.
    >
    > Jak sie do tego zabrac, aby w miare szybko zobaczyc rezultaty swojej

    1. Napisać własny lekser albo użyć ten z Boost.Wave i dalej bawić
    się w przekształcenia.

    2. Użyć Vera++ ( http://www.inspirel.com/vera/ ), który oparty
    jest na Boost.Wave. Całośc ma tą zaletę, że używamy języka
    skryptowego do przekształceń.

    3. Użyć jakiegoś narzędzia do przekształceń źródło na źródło:
    Txl - http://www.txl.ca/
    Stratego/XT - http://strategoxt.org/

    Pozdrawiam
    KK


  • 3. Data: 2010-04-26 07:28:54
    Temat: Re: Pisanie prekompilatora -- jak sie zabrac?
    Od: Maciej Sobczak <s...@g...com>

    On 26 Kwi, 08:17, Maciej Pilichowski
    <P...@g...com> wrote:

    >   Chcialbym napisac cos w rodzaju prekompilatora, programik, ktory
    > rozszerzy mi kilka "makr" do jezyka docelowego, tak aby pozniej
    > wlasciwy kompilator juz sie zabral do pracy.
    >
    >   Mysle na razie o C++ i chcialbym zaczac od czegos w stylu:
    >
    > string @ptr;
    >
    > aby mi to zamienialo na
    >
    > shared_ptr<string> ptr;

    Jaki problem chcesz w ten sposób rozwiązać?

    Jeżeli jest to problem pisania na klawiaturze, to lepiej zdefiniuj
    sobie te makra w edytorze tak, żebyś nie musiał pisać w całości tych
    częstych konstrukcji.
    Jeżeli jest to problem czytelności kodu, to lepiej typedef.

    Natomiast jeśli chodzi o *ćwiczenie* pod tytułem "pisanie
    preprocesora", to do zabawy polecam to:

    http://www.msobczak.com/prog/bin/tpp.zip

    To jest prościutki ale rozszerzalny preprocesor napisany w Tcl.
    Dokumentacja i przykłady w środku.
    W sumie do niczego poważnego tego nie użyłem (kiedyś generowałem tym
    różne kawałki swojej strony www), ale zabawa przy pisaniu była jak
    trzeba - może przyda Ci się jako punkt startowy.

    Do poważniejszych zadań z transformacjami kodu - linki podał Krzysiek.

    --
    Maciej Sobczak * http://www.inspirel.com


  • 4. Data: 2010-04-26 07:47:14
    Temat: Re: Pisanie prekompilatora -- jak sie zabrac?
    Od: Maciej Pilichowski <P...@g...com>

    On Mon, 26 Apr 2010 00:28:54 -0700 (PDT), Maciej Sobczak
    <s...@g...com> wrote:

    Dzieki za obie odpowiedzi!

    >Jaki problem chcesz w ten sposób rozwi?zać?
    >
    >Natomiast je?li chodzi o *ćwiczenie* pod tytułem "pisanie
    >preprocesora", to do zabawy polecam to:

    To tez. A druga -- jestem programista C++ i szkoda mi juz czasu na
    pisanie przestarzalych konstrukcji. Jezeli jest cos wygodnego, co
    przyspiesza mi pisanie kodu (a przy okazji kod staje sie
    klarowniejszy), to chcialbym to miec w C++.

    Nie chce wymyslac nowego jezyka od zera (choc to modne), wole krok po
    kroku ulepszac cos co jest.

    >W sumie do niczego poważnego tego nie użyłem (kiedy? generowałem tym
    >różne kawałki swojej strony www), ale zabawa przy pisaniu była jak
    >trzeba - może przyda Ci się jako punkt startowy.

    No pewnie! :-)

    milego dnia, hej


  • 5. Data: 2010-04-26 09:55:39
    Temat: Re: Pisanie prekompilatora -- jak sie zabrac?
    Od: Michoo <m...@v...pl>

    Maciej Pilichowski pisze:
    > Hej,
    >
    > Chcialbym napisac cos w rodzaju prekompilatora, programik, ktory
    > rozszerzy mi kilka "makr" do jezyka docelowego, tak aby pozniej
    > wlasciwy kompilator juz sie zabral do pracy.
    >
    > Mysle na razie o C++ i chcialbym zaczac od czegos w stylu:
    >
    > string @ptr;
    a co z string @ptr,str;?
    Będziesz generował 2 osobne deklaracje, czy nie dopuścisz takiej sytuacji?
    To czemu nie coś w stylu:
    typedef shared_ptr<string> string_p;
    ?
    > Nastepne w kolekcje jest foreach (for z iteratorami) i lambda. To tak
    > na dobry poczatek, zeby miec lepsze srodowisko pracy.
    #define foreach(x,y) for(typeof(x.begin()) y=x.begin();y!=x.end();++y)

    http://www.boost.org/doc/libs/1_42_0/doc/html/lambda
    .html#introduction
    >
    > Jak sie do tego zabrac, aby w miare szybko zobaczyc rezultaty swojej
    > pracy, ale tez zeby to nie bylo proste search&replace (tj. aby za
    > chwile nie trzeba bylo calosci przepisywac od zera, tym razem
    > porzadnie).
    Dać sobie spokój ;) - składnia C++ jest tak koszmarnie złożona, że masz
    w sumie 2 wyjścia - albo Twój preprocesor będzie bardzo prymitywny, albo
    poświęcisz na jego pisanie bardzo dużo czasu.


    --
    Pozdrawiam
    Michoo


  • 6. Data: 2010-04-27 06:17:15
    Temat: Re: Pisanie prekompilatora -- jak sie zabrac?
    Od: Maciej Pilichowski <P...@g...com>

    On Mon, 26 Apr 2010 11:55:39 +0200, Michoo <m...@v...pl> wrote:

    >#define foreach(x,y) for(typeof(x.begin()) y=x.begin();y!=x.end();++y)

    * kilkukrotna ewaluacja x
    * brak nawiasow przy parametrach

    >http://www.boost.org/doc/libs/1_42_0/doc/html/lambd
    a.html#introduction

    Znam, stosuje, koszmarna skladnia.

    >Dać sobie spokój ;)

    Dzieki za glos, ale takie odpowiedzi nic nie wnosza.

    > albo
    >poświęcisz na jego pisanie bardzo dużo czasu.

    Lepsze to niz siedzenie przed TV i picie piwa, nie? Wiec nie rozumiem,
    czemu kogos zniechecasz -- nawet dla samej satysfakcji temat jest
    ciekawy. Przynajmniej dla mnie, a ja mowilem o tym, ze to _ja_ chce
    pisac, a nie zlecac to komus.

    milego dnia, hej


  • 7. Data: 2010-04-27 07:14:22
    Temat: Re: Pisanie prekompilatora -- jak sie zabrac?
    Od: p...@p...onet.pl

    > On Mon, 26 Apr 2010 11:55:39 +0200, Michoo <m...@v...pl> wrote:
    >
    > >#define foreach(x,y) for(typeof(x.begin()) y=x.begin();y!=x.end();++y)
    >
    > * kilkukrotna ewaluacja x
    > * brak nawiasow przy parametrach
    >
    > >http://www.boost.org/doc/libs/1_42_0/doc/html/lambd
    a.html#introduction
    >
    > Znam, stosuje, koszmarna skladnia.
    >
    > >Dać sobie spokój ;)
    >
    > Dzieki za glos, ale takie odpowiedzi nic nie wnosza.
    >
    > > albo
    > >poświęcisz na jego pisanie bardzo dużo czasu.
    >
    > Lepsze to niz siedzenie przed TV i picie piwa, nie? Wiec nie rozumiem,
    > czemu kogos zniechecasz -- nawet dla samej satysfakcji temat jest
    > ciekawy. Przynajmniej dla mnie, a ja mowilem o tym, ze to _ja_ chce
    > pisac, a nie zlecac to komus.
    >
    no nie wiem, ja też raczej odradzam, nawet jak bys to zrobił co chcesz
    i zrobił to nawet fajnie to _nadbudujesz_ coś ew w miare ok nad chaosem
    c++ zamiast po prostu to wszystko raczej odrzucić - po co ci to
    czego nie lubisz tam pod spodem? ale jak dla ciebie ta robota
    bylaby fajna i ciekawa to w tym sensie warto ja robic bo cos
    potrenujesz czegos sie nauczysz

    sam chetnie zaczalbym (choc poki co mam raczej inne konieczniejsze
    dla mnie sprawy) od w zasadzie napisania sobie asemblera i tworzenia
    nim swoich wlasnych execow - trzebeby chyba przestudiowac format
    COFF i PE a byc moze jest on skomplikowany i szybko takiego asma nie
    napiszę - trudno powiedziec - jakby ktos mial apropos cos dobrego
    co pomaogloby w napisaniu sobie asma pod windę (jakis tutorial do
    recznego binarnego tworzenia PE) to moglby mi podrzucic,

    dzieki z gory

    fir

    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 8. Data: 2010-04-27 18:55:47
    Temat: Re: Pisanie prekompilatora -- jak sie zabrac?
    Od: Roman Werpachowski <r...@g...com>

    On Apr 27, 7:17 am, Maciej Pilichowski
    <P...@g...com> wrote:

    > Lepsze to niz siedzenie przed TV i picie piwa, nie? Wiec nie rozumiem,
    > czemu kogos zniechecasz -- nawet dla samej satysfakcji temat jest
    > ciekawy. Przynajmniej dla mnie, a ja mowilem o tym, ze to _ja_ chce
    > pisac, a nie zlecac to komus.

    Chodzi o to, że lepiej zrobić coś mniejszego niż kompletnego, niż
    zacząć z wysokiego C a potem zjechać w falsecik.

    RW


  • 9. Data: 2010-05-02 17:40:47
    Temat: Re: Pisanie prekompilatora -- jak sie zabrac?
    Od: Adam Przybyla <a...@r...pl>

    Maciej Pilichowski <P...@g...com> wrote:
    > Hej,
    >
    > Chcialbym napisac cos w rodzaju prekompilatora, programik, ktory
    > rozszerzy mi kilka "makr" do jezyka docelowego, tak aby pozniej
    > wlasciwy kompilator juz sie zabral do pracy.
    >
    > Mysle na razie o C++ i chcialbym zaczac od czegos w stylu:
    >
    > string @ptr;
    ... moze czas odkryc m4?;-) Z powazaniem
    Adam Przybyla

strony : [ 1 ]


Szukaj w grupach

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: