[dtrace-discuss] dtrace keywords in postfix expressions
Bryan Cantrill
bryancantrill at gmail.com
Sat Oct 4 07:59:59 UTC 2014
Nothing like cracking open dt_grammar.y to get the blood flowing! ;) I
don't think the change looks unreasonable; how does the test suite fare?
If this is no way breaks extant D programs, I'm all for it...
- Bryan
On Fri, Oct 3, 2014 at 9:13 PM, Mark Johnston via dtrace-discuss <
dtrace-discuss at lists.dtrace.org> wrote:
> Hello,
>
> DTrace has a few keywords which are not keywords in C/C++ (e.g.
> "provider"). One annoyance which has come up a few times is the fact
> that such keywords cannot be used in expressions which would be valid in
> the code being traced. For example, FreeBSD's struct g_consumer contains
> a field called "provider", and attempting to run the following snippet of
> D results in a syntax error:
>
> fbt::g_vfs_done:entry {printf("%s",
> stringof(args[0]->bio_from->provider->name));}
>
> I don't see any reason the D grammar can't support this, however. The
> patch at [1] attempts to fix this problem by allowing certain keywords
> to appear in the place of identifiers in postfix expressions. It's not a
> complete solution since it doesn't handle types or probe names, but it's a
> start. Any thoughts on this approach?
>
> Thanks!
> -Mark
>
> [1] http://people.freebsd.org/~markj/patches/dtrace_keywords.diff
>
>
> -------------------------------------------
> dtrace-discuss
> Archives: https://www.listbox.com/member/archive/184261/=now
> RSS Feed:
> https://www.listbox.com/member/archive/rss/184261/21484475-e7237b25
> Modify Your Subscription:
> https://www.listbox.com/member/?member_id=21484475&id_secret=21484475-2fcb7543
> Powered by Listbox: http://www.listbox.com
>
More information about the freebsd-dtrace
mailing list