Date: Sat, 4 Oct 2014 00:59:57 -0700 From: Bryan Cantrill <bryancantrill@gmail.com> To: Mark Johnston <markj@freebsd.org> Cc: "dtrace-discuss@lists.dtrace.org" <dtrace-discuss@lists.dtrace.org>, freebsd-dtrace@freebsd.org Subject: Re: [dtrace-discuss] dtrace keywords in postfix expressions Message-ID: <CAAm8y%2BjJcp9=3DywYO%2B3gYRPbCtTR4g_H0fJ9CdPV7No0rac7Q@mail.gmail.com> In-Reply-To: <20141004041300.GA21821@charmander.picturesperfect.net> References: <20141004041300.GA21821@charmander.picturesperfect.net>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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 >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAAm8y%2BjJcp9=3DywYO%2B3gYRPbCtTR4g_H0fJ9CdPV7No0rac7Q>