git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH] userdiff: add builtin driver for kotlin language

From
Johannes Sixt <j6t@kdbg.org>
Date
Mar 3, 2022, 20:04 UTC
Message-ID
<c1298c9d-0f4a-40b8-b337-896f4d4777f3@kdbg.org>
In-Reply-To
<76d46b15-f6c0-b8da-87e8-a992047b9a6a@gmail.com>
Am 03.03.22 um 12:41 schrieb Jaydeep Das:
Show 6 quoted lines
> How about modifying the number match regex to:
> 
> `[0-9._]+([Ee][-+]?[0-9]+)?[fFlLuU]*[^a-zA-Z]` ?
> 
> The `[^a-zA-Z]` in the end would make sure to not match
> the `.F` in `X.Find`.

No, you cannot do that, because then in X.u+1 you have three tokens X .u+ 1, which you do not want, either.

Show 7 quoted lines
> Additionally, we can add another regex for matching just
> the method calls:
> 
> `[.][a-zA-Z()0-9]+`
> 
> Both of these changes would make word_regex match 2 tokens in
> X.Find() : X and .Find() (Here X can be any valid identifier name)

Well, you can do that. But I would not do that if it is allowed to have a blank between the fullstop and a method name.

Show 18 quoted lines
>> How many tokens will the word-regex find in the expression X.e+200UL?
>> .e+200UL is a single token. > It's most easily fixed by requiring a
>> digit before the fullstop. But if
>> floatingpoint numbers can begin with a fullstop, then we need a second
>> expression that requires a digit after a leading fullstop.
> 
> But that syntax would be wrong. I tried making a condition like you said,
> but it always ended up breaking something else(like breaking 2.e+200UL
> into 2, .e, + and 200UL)
> 
> Also, I realized I did a bit of mistake in the identifier regex.
> Both _abc and __abc are valid identifiers. _3432, __3232 are valid
> identifiers too.(not numbers)
> 
> The previous regex matched only one `_`, so in the next patch,
> I plan to implement the following regex:
> 
> Identifier: `([_]*[a-zA-Z]|[_]+[0-9]+)[a-zA-Z0-9_]*`
But then you can use the regex you had in the first round:
   [a-zA-Z_][a-zA-Z0-9_]*
Show 9 quoted lines
> 
> Numbers: `[0-9_.]+([Ee][-+]?[0-9]+)?[fFlLuU]*[^a-zA-Z]`
> (It makes sure that in X.Find, .F is not matched )
> 
> Additionally, An extra regex for method calls:
> 
> `[.][a-zA-Z()0-9]+`
> 
> What do you think?

Have a look at the regex in the cpp driver. I think we need something like this:

  /* integers floatingpoint numbers */
  "|[0-9][0-9_.]*([Ee][*-]?[0-9]+)?[FfLl]*"
  /* floatingpoint numbers that begin with a decimal point */
  "|[.][0-9][0-9_]*([Ee][*-]?[0-9]+)?[FfLl]*"
Drop the second option if numbers such as .5 are invalid syntax in Kotlin.
-- Hannes
Previous: Junio C HamanoNext: Jaydeep Das
Message 22 of 48 in “userdiff: Add diff driver for Kotlin lang and tests”
  1. Jaydeep P DasMar 1, 2022
  2. userdiff: Add diff driver for Kotlin lang and testsJaydeep P Das, Mar 1, 2022
  3. Junio C HamanoMar 1, 2022
  4. Ævar Arnfjörð BjarmasonMar 1, 2022
  5. jaydeepjd.8914@gmail.comMar 1, 2022
  6. userdiff: add builtin diff driver for Kotlin language.Jaydeep P Das, Mar 1, 2022
  7. Junio C HamanoMar 1, 2022
  8. jaydeepjd.8914@gmail.comMar 1, 2022
  9. Johannes SixtMar 1, 2022
  10. Johannes SixtMar 1, 2022
  11. [GSoC][PATCHv2] userdiff: add builtin driver for kotlin languageJaydeep P Das, Mar 2, 2022
  12. userdiff: add builtin driver for kotlin languageJaydeep P Das, Mar 2, 2022
  13. Johannes SixtMar 2, 2022
  14. jaydeepjd.8914@gmail.comMar 2, 2022
  15. jaydeepjd.8914@gmail.comMar 2, 2022
  16. [GSoC][PATCHv3] userdiff: add builtin driver for kotlin languageJaydeep P Das, Mar 2, 2022
  17. userdiff: add builtin driver for kotlin languageJaydeep P Das, Mar 2, 2022
  18. Johannes SixtMar 2, 2022
  19. Jaydeep DasMar 3, 2022
  20. Ævar Arnfjörð BjarmasonMar 3, 2022
  21. Junio C HamanoMar 3, 2022
  22. Johannes SixtMar 3, 2022
  23. Jaydeep DasMar 4, 2022
  24. Johannes SixtMar 4, 2022
  25. userdiff: add builtin diff driver for Kotlin language.Jaydeep P Das, Mar 3, 2022
  26. Junio C HamanoMar 4, 2022
  27. jaydeepjd.8914@gmail.comMar 4, 2022
  28. Johannes SixtMar 4, 2022
  29. userdiff: add builtin diff driver for Kotlin language.Jaydeep P Das, Mar 5, 2022
  30. Johannes SixtMar 5, 2022
  31. jaydeepjd.8914@gmail.comMar 5, 2022
  32. Johannes SixtMar 5, 2022
  33. userdiff: add builtin diff driver for kotlin language.Jaydeep P Das, Mar 6, 2022
  34. Johannes SixtMar 7, 2022
  35. jaydeepjd.8914@gmail.comMar 8, 2022
  36. Johannes SixtMar 8, 2022
  37. jaydeepjd.8914@gmail.comMar 10, 2022
  38. Jaydeep DasMar 10, 2022
  39. Johannes SixtMar 10, 2022
  40. userdiff: add builtin diff driver for kotlin language.Jaydeep P Das, Mar 11, 2022
  41. Johannes SixtMar 11, 2022
  42. jaydeepjd.8914@gmail.comMar 12, 2022
  43. Johannes SixtMar 12, 2022
  44. userdiff: add builtin diff driver for kotlin language.Jaydeep P Das, Mar 12, 2022
  45. Johannes SixtMar 12, 2022
  46. jaydeepjd.8914@gmail.comMar 13, 2022
  47. jaydeepjd.8914@gmail.comMar 13, 2022
  48. Johannes SixtMar 13, 2022

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.