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
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/freebsd-dtrace
To unsubscribe, send any mail to "[email protected]"

Reply via email to