[nem-pl] Co jest z kompilatorem?

Michal Moskal malekith at pld-linux.org
Tue Oct 28 00:20:41 CET 2003


On Mon, Oct 27, 2003 at 11:53:24PM +0100, rzyjontko wrote:
> $ cd [...]tags/last-with-npc/npc
> $ make
> $ cd ../ncc
> $ make
> $ cp ncc.exe [...]trunk/boot
> $ cd [...]trunk/ncc
> $ make
> mono ../boot/ncc.exe option.n list.n util.n parsetree.n tree.n
> scan_globals.n treeutil.n bind_types.n tyvars.n tyinfo.n tyutil.n
> check_constraints.n ast.n tyexpr.n typedtree.n extensions.n cgtree.n
> cgexpr.n cgflat.n env.n lib/core.n
> check_constraints.n:43:49: error: syntax error, expecting '*' ']' '|'
> OP1 OP2 OP3 OP4 OP5 OP6 OP7
> make: *** [ncc.exe] Błąd 1
> 
> 
> Rozumiem, że od czasu kiedy skompilowałeś nemerle tym z last-with-npc
> zmieniła się gramatyka, a ten którym kompilujesz teraz sobie z tym
> radzi.  

Tak. Zmieniała się co prawda minimalnie, ale zmieni się bardziej.

> Nie mówię, że to źle, ale ludziom trzeba dostarczyć coś, z
> czym sobie poradzą.  Czy ja jestem jedyną osobą, której nie powiódł
> się bootstrap?

No bo zabrałeś się do tego od złej strony. W tarballu jest
prekompilowany kompilator. Jego należy użyć do bootstrapu.

> Do skompilowania gcc (< 3.4) wystarczy dowolny kompilator C.  Myślę,
> że to najwyższa pora, aby zdecydować się na jakąś formę języka.  Tak,
> żeby osoba, która przegapiła 5 wersji pośrednich mogła nadal zbudować
> nowy kompilator.

Tu nie ma tego problemu, binarki .net są przenośne. Rozprowadzamy więc
binarkę i wymagamy środowiska. Podobnie robią z mcs, ocamlc i sml nj.

> Po drugie: ilu z Was ma jakikolwiek kompilator skompilowany ze źródeł?

Ja! Ja! Ja! ;-)

> Oprócz nemerle ma się rozumieć.
> Nie wiem, jak to jest w innych dystrybucjach, ale w debianie nie ma
> mono ze względu na stopień komplikacji projektu i trudności z jego
> instalacją.  

Hem?

[malekith at roke /shm]$ rpm -qa mono\*
mono-0.28-2
mono-jay-0.28-2
mono-devel-0.28-2
mono-csharp-0.28-2
[malekith at roke /shm]$ 

Nie zauważyłem jakiś szczególnych problemów z pakietowaniem tego. Jest
wręcz łatwe w porównaniu z takim SML/NJ np.

> Skontaktuję się z grupą pracującą nad wprowadzeniem mono
> i towarzyszącym projektom do dystrybucji.

Eh ten debian...

> Ale nawet w przypadku paczki ze źródłami przydałby się jakiś sensowny
> sposób budowania i instalowania nemerle.  W tej chwili makefile ma
> zaszyte nazwy kompilatora C# i inne takie.

Co do kompilatora C# mamy trzy opcje AFAIK:

  1) mcs (mono)
  2) cscc (pnet)
  3) csc (microsoft)

O ile można używać cscc, to już runtime engine pnet nie, bo a) jest
wooooolny, b) wywala się ze stack overflow. cscc jest za to znacznie
szybsze od mcs, ale za to nie umie debug info wyprowadzać w formacie
zjadliwym dla mono.

Opcja 3) jest przynajmniej chwilowo poza moim zasięgiem.

> Pomyślałem, że może warto by się tym zająć i jeśli nikt nie ma nic
> przeciwko temu, to ja się tym zajmę.

Ja nie mam, wręcz przeciwnie.

-- 
: Michal Moskal :: http://www.kernel.pl/~malekith : GCS {C,UL}++++$ a? !tv
: When in doubt, use brute force. -- Ken Thompson : {E-,w}-- {b++,e}>+++ h




More information about the devel-pl mailing list