On Mar 4, 2013 2:41 AM, "Daniel Murphy" <yebblies@nospamgmail.com> wrote:
>
> "Zach the Mystic" <reachBUTMINUSTHISzach@gOOGLYmail.com> wrote in message
> news:kidboshnjpowpyqrtwjl@forum.dlang.org...
> > On Sunday, 3 March 2013 at 07:27:51 UTC, Daniel Murphy wrote:
> >>> Now you're as up-to-date as I am on what I'm thinking.
> >>
> >> I did something like that before (token-level pattern matching) and found
> >> the number of special cases to be much much too high.  You need so much
> >> context information you're better off just building an ast and operating
> >> on
> >> that.
> >
> > What were the biggest and most common reasons you needed context
> > information?
>
> Turning implicit into explicit conversions.  A big one is 0 -> Loc(0).
> dinteger_t -> size_t.  void* -> char*.  string literal to char*.  string
> literal to unsigned char*.  unsigned -> unsigned char.  int -> bool.
>
>

All look fine except for dinteger_t, which should be -> long (it should always be the widest integer type supported by the host eg: longlong.

Regards
--
Iain Buclaw

*(p < e ? p++ : p) = (c & 0x0f) + '0';