Migrating dmd to D?

dennis luehring dl.soluz at gmx.net
Mon Mar 11 23:02:02 PDT 2013


Am 12.03.2013 03:25, schrieb Daniel Murphy:
> "Iain Buclaw" <ibuclaw at ubuntu.com> wrote in message
> news:mailman.357.1363023395.14496.digitalmars-d at puremagic.com...
>>
>> (The D conversion seems to think it's lisp).
>>
>
>      Expression resolveLoc(Loc loc, Scope sc)
>      {
>      tracein("resolveLoc");
>      scope(success) traceout("resolveLoc");
>      scope(failure) traceerr("resolveLoc");
>      {
>          FuncDeclaration fd;
>          if (sc.callsc && sc.callsc.func)
>          fd = sc.callsc.func;
>           else fd = sc.func;
>          const(char)* s;
>          if (fd)
>          {
>              const(char)* funcStr = fd.Dsymbol.toPrettyChars();
>              HdrGenState hgs;
>              OutBuffer buf = new OutBuffer();
>              functionToCBuffer2(cast(TypeFunction)fd.type, buf, &hgs, 0,
> funcStr);
>              buf.writebyte(0);
>              s = cast(const(char)*)buf.extractData();
>          }
>           else {
>              s = "";
>          }
>          Expression e = new StringExp(loc, cast(char*)s);
>          e = e.semantic(sc);
>          e = e.castTo(sc, type);
>          return e;
>      }
>      }
>
>

looks not that bad - the big question for me is - do you think that this 
could be the way to do the port (or do you just "test" how far you can 
get with automated conversion)


More information about the Digitalmars-d mailing list