Re: [PATCH] userdiff: add builtin driver for kotlin language
- From
jaydeepjd.8914@gmail.com <jaydeepjd.8914@gmail.com>
- Date
- Mar 2, 2022, 09:09 UTC
- Message-ID
- <f16cf3aa-dbae-8645-1d59-a8d5639d22fc@gmail.com>
- In-Reply-To
- <34a2ad39-604c-4edd-ea1c-de1212fc506b@kdbg.org>
> This test does not demonstrates that numbers do not end at an '_', > because if it did end there, the change would be from the single token > 100000 to two tokens 100 and _000, and the mark-up would look exactly > the same as we see here, and would remain undiagnosed.
Yes but numbers ending in `_` would be illegal syntax in Kotlin so the regex assumes that user is writing correct code.
Show 8 quoted lines
> Instead, write the pre-image as 100_000 and the post image as 200_000. > Then the correct mark-up would be > > <RED>100_000<RESET><GREEN>200_000<RESET> > > and a bogus markup (that the test wants to diagnose) would look like > > <RED>100<RESET><GREEN>200<RESET>_000
Right. I will add that test too.
> What is this "0x0F"? Did you mean just "0x"?
`0x0F` indicates that its a hexadecimal literal in Kotlin.
Show 7 quoted lines
> And what about prefixes 0X > and 0B? Are they not used as prefixes for hex and binary numbers? > Moreover, I do not see how a hex number 0xff would be matched as a > single token. > > > + /*match unary and binary operators*/ > > + "|[-+*/<>%&^|=!]*"),
Yes. I would make the changes.
Show 13 quoted lines
> Do not do this. There is an implicit single-character match that need
> not be written down in the regex. List all multi-character operators
> (but not the single-character operators) like you did in earlier rounds.
> As written, the "++!=" in an expression such as "a++!=b++" (which is not
> unlikely to be seen in real code) would be regarded as a single token.
>
> The verb "match" in the comment does not match the style of the other
> comments (drop the word), and please insert blanks between the comment
> delimiters and the text.
>
> > PATTERNS("markdown",
> > "^ {0,3}#{1,6}[ \t].*",
> > /* -- */Noted.
Thanks, Jaydeep.