From: jaydeepjd.8914@gmail.com Date: Wed, 02 Mar 2022 09:09:23 GMT Subject: Re: [PATCH] userdiff: add builtin driver for kotlin language Message-ID: 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. > Instead, write the pre-image as 100_000 and the post image as 200_000. > Then the correct mark-up would be > > 100_000200_000 > > and a bogus markup (that the test wants to diagnose) would look like > > 100200_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. > 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. > 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.