🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #309495

Re: Zabrali kopiowanie przy zapisie...

#309495
From: M.M.
Date: Sat, 14 Oct 2017 18:12
99 lines
5675 bytes
On Saturday, October 14, 2017 at 5:23:53 PM UTC+2, (fir) wrote:
> W dniu sobota, 14 października 2017 15:39:16 UTC+2 użytkownik M.M. napisał:
> > On Saturday, October 14, 2017 at 1:30:07 PM UTC+2, (fir) wrote:
> > 
> > > co ulatwialoby zycie i jak zalezy od 
> > > konkretnego zastosowania - 
> > No tak. A przeładowane operatory na napisach i wsparcie dla regexpów na
> > poziomie jezyka ułatwia życie w bardzo konkretnych sytuacjach, 
> > mianowicie w aplikacjach przetwarzających tekst - o czym rozmawialiśmy w 
> > kilku ostatnich postach.
> > 
> 
> w jakich na przyklad? 
Wybacz, nie mam siły cytować.


> za jakis czas bede pisac kompilator c 
Po co?


> i to jest raczej przetwazanie tekstu
Tylko w początkowej fazie.


> najprawdopodobniej bede potrzebowac pare specjalizowanych procedur do 
> tego tekstu czytania
Przy pisaniu kompilatora są inne ważniejsze problemy.




> jak pisalem asembler sicl (z jego ogolnymi funkcyjkami do wyodrebniania
> linijek, slow i 'numberow') w zupelnosci wystarczyl.. do 
> pisania kompilatora c bedzie potrzebne costam ciut wiecej ale pewnie 
> nie tak duzp.. 
Do wyodrębnienia tokenów wystarczy to samo :) Ale w C, w przeciwieństwie
do asemblera, jest rekurencyjna struktura. Moje parsery do języków
programowania mają stany. Stanem jest np. "jestem w funkcji", "jestem w
klasie", "jestem w pętli for", "jestem w ciągu znaków", itd. Każdy stan
ma funkcję, funkcje wywołują się rekurencyjnie... Tego w (nie-makro)
asemblerach nie ma.


> mozna by juz dzis troche zastanowic sie jak to zrobic ale nie wiem 
> czy mi sie chce bo wszystko znowu dzis mnie boli 
> jak diabli (so called 'constant poisoning')
Aż tak mocno boli, że apap i ibum nie pomaga?


> pytania sa m.in. takie:
> 
> - czy przerabiac wejsciowy tekst w c 
> na tekst w asmie czy na jakas inną postac? 
Jeśli odpowiesz mi na pytanie, po co pisać kompilator C, to może
będę umiał odpowiedzieć na to pytanie.



> (od razu na kod binarny raczej 
> odpada le moznaby na jakąs wewnetrzną 
> postac binarno-symboliczna)
> na razie chyab nie mam zdania w tym temacie
Ja też na razie nie wiem.


> - jesli na tekst w asmie to i tak przetwazanie tekstu w c na tekst w asmie 
> wymaga chyba jakiegos minimalnego kroku posredniego i raczej nieco 'unlikely'
> chyba byloby robic ten krok posredni rowniez w postaci tekstu 
Jeśli to ma być standard do dalszej przeróbki, (np. dla 
optymalizatorów), to postać tekstowa jest dobra.


> (choc zdaje sie
> jest to mozliwe)
> 
> przy tym podejsciu "text-in - text-midle - text-out" resizowalen 
> stringi moglyby sie moze i przydac (choc muliloby to) 
> / jak regexpy to nie wiem bo nie uzywam

Zobacz ile pracy włożono w napisanie kompilatorów. Gdy włożysz podobną
ilość, to będziesz wiedział co jest wąskim gardłem i czy warto się
martwić zamulaniem dynamicznymi stringami.




> przy tym podejsciu typu budowanie zestawu wewnetrznych tablic z 
> danymi - po czym na ich podstawie wygenerowanie asma albo kodu 
> binarnego raczej nie, bo tekst wejsciowy sluzy wylaczie do 
> czytania awyjsciowy do wypisania (raczej nie nalezy go przepisywac)
Nie rozumiem.


> narazie jestem jednak diablo obolaly i nie bede sie tym raczej 
> na razie zajmowac

Fir, Ty nie pi#$dol, tyko pisz ten kompilator ;-)

Zdrowia
Technical Details
Message-ID: <8d4b61ba-ab00-4a9e-91c7-5dd14bdb9435@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer03.am4!peer.am4.highwinds-media.com!peer03.fr7!futter-mich.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!z50no692572qtj.0!news-out.google.com!r5ni1478qtc.1!nntp.google.com!k31no693437qta.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <or4v67$ene$1@node1.news.atman.pl> <72ac4d9c-806c-4c0d-9d17-e6a1bca634cb@googlegroups.com> <148be543-e417-4b7b-aaa1-5fad87fe41bd@googlegroups.com> <137swhz7qzvw7.dlg@tyczka.com> <6a1a94c7-2d75-4569-8fae-574fb23c919e@googlegroups.com> <d73024b7-92e0-49f9-b827-bfc7b639739b@googlegroups.com> <73ec442f-1a8b-43fc-a06f-a5534a6f3438@googlegroups.com> <da509e00-e7ff-49bb-8870-b77b25bcc560@googlegroups.com> <3d6d153f-34d8-4ee9-b333-9e3072a072c9@googlegroups.com> <03ca728f-cae4-43b7-bee8-88bb5e591ccb@googlegroups.com> <2023b7a6-0782-4b3a-ab89-2e96b7e4d96c@googlegroups.com> <3e7ef300-8271-41e4-af47-52ca34f4ff57@googlegroups.com> <34d35c7d-14e1-4122-bde1-701cdec88f1a@googlegroups.com> <ca384ce0-dafb-4d85-acaa-30892ed836ef@googlegroups.com> <5626e481-a54e-4161-a649-6f690071268d@googlegroups.com> <b8f82670-a5ee-4aed-90bb-d337fc077bf1@googlegroups.com> <8b01b2d2-a144-4d35-8274-97f7fa8f5ae6@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 10.55.54.134 with SMTP id d128mr3890244qka.61.1508004755908;        Sat, 14 Oct 2017 11:12:35 -0700 (PDT)
X-Received: by 10.31.160.207 with SMTP id j198mr323595vke.10.1508004755868; Sat, 14 Oct 2017 11:12:35 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.nask.pl!news.nask.org.pl!news.unit0.net!peer03.am4!peer.am4.highwinds-media.com!peer03.fr7!futter-mich.highwinds-media.com!peer01.iad!feed-me.highwinds-media.com!news.highwinds-media.com!z50no692572qtj.0!news-out.google.com!r5ni1478qtc.1!nntp.google.com!k31no693437qta.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Sat, 14 Oct 2017 11:12:35 -0700 (PDT)
In-Reply-To: <8b01b2d2-a144-4d35-8274-97f7fa8f5ae6@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=77.254.41.245; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 77.254.41.245
References: <or4v67$ene$1@node1.news.atman.pl> <72ac4d9c-806c-4c0d-9d17-e6a1bca634cb@googlegroups.com> <148be543-e417-4b7b-aaa1-5fad87fe41bd@googlegroups.com> <137swhz7qzvw7.dlg@tyczka.com> <6a1a94c7-2d75-4569-8fae-574fb23c919e@googlegroups.com> <d73024b7-92e0-49f9-b827-bfc7b639739b@googlegroups.com> <73ec442f-1a8b-43fc-a06f-a5534a6f3438@googlegroups.com> <da509e00-e7ff-49bb-8870-b77b25bcc560@googlegroups.com> <3d6d153f-34d8-4ee9-b333-9e3072a072c9@googlegroups.com> <03ca728f-cae4-43b7-bee8-88bb5e591ccb@googlegroups.com> <2023b7a6-0782-4b3a-ab89-2e96b7e4d96c@googlegroups.com> <3e7ef300-8271-41e4-af47-52ca34f4ff57@googlegroups.com> <34d35c7d-14e1-4122-bde1-701cdec88f1a@googlegroups.com> <ca384ce0-dafb-4d85-acaa-30892ed836ef@googlegroups.com> <5626e481-a54e-4161-a649-6f690071268d@googlegroups.com> <b8f82670-a5ee-4aed-90bb-d337fc077bf1@googlegroups.com> <8b01b2d2-a144-4d35-8274-97f7fa8f5ae6@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <8d4b61ba-ab00-4a9e-91c7-5dd14bdb9435@googlegroups.com>
Subject: Re: Zabrali kopiowanie przy zapisie...
From: "M.M." <mmarszik@gmail.com>
Injection-Date: Sat, 14 Oct 2017 18:12:35 +0000
X-Received-Body-CRC: 1499770175
X-Received-Bytes: 5889
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit