Article View: pl.comp.lang.c
Article #309495Re: Zabrali kopiowanie przy zapisie...
From: M.M.
Date: Sat, 14 Oct 2017 18:12
Date: Sat, 14 Oct 2017 18:12
99 lines
5675 bytes
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-mailReferences:
<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