[Bug 269906] dtrace requires empty expression to print anything from matching search
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Mon, 20 Mar 2023 19:14:25 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269906 --- Comment #5 from Christos Margiolis <christos@margiolis.net> --- Apparently, this patch doesn't really work and, in fact, allowing a predicate with no acts is probably impossible in D without introducing a significant amount of complexity. awk can do that just fine because awk's predicates cannot contain unescaped "/", since it searches for regexes. D on the other hand allows normal computation inside the predicate, meaning one can do division inside it: kinst::vm_fault: /(cpu / 2) == 1/ This is a problem because the D lexer considers "/" to be a division token (and not a start/end of predicate token) when the next non-whitespace character coming after it is anything other than EOF, 0, ;, { and }, so if we try and run: kinst::vm_fault: /cpu == 1/ fbt::malloc:entry The lexer will think the end of predicate is actually a division token because the succeeding non-whitespace character "f" doesn't match the character set that indicate the end of predicate. -- You are receiving this mail because: You are the assignee for the bug.