Ludwig Stecher
Ludwig Stecher
Planned optimizations: - https://github.com/pomsky-lang/pomsky/issues/56 - https://github.com/pomsky-lang/pomsky/issues/58 - https://github.com/pomsky-lang/pomsky/issues/59 - https://github.com/pomsky-lang/pomsky/issues/60 These can be split into smaller issues when needed.
### Describe the bug Compiling the Pomsky expression `[word]` targeting the Python flavor produces `\w`. But [Python's `\w`](https://docs.python.org/3/library/re.html#index-34) doesn't match the Unicode spec: - It matches the `Letter` (`Lm`, `Lt`,...
- `C` could be polyfilled as `(?:\P{Cs}|\p{IsLowSurrogates}\p{IsHighSurrogates})` - `.` could be polyfilled as `(?:[^\n\p{Cs}]|\p{IsLowSurrogates}\p{IsHighSurrogates})` **Polyfilling is only needed when it isn't repeated, or the repetition has a lower bound >...
All identified problems (most have been addressed in Pomsky 0.10): - [x] .NET doesn't support code points (in hexadecimal notation) outside the BMP – must be converted to two UTF-16...
`\w` is equivalent to `[\p{L}\p{Mn}\p{Nd}\p{Pc}]` in .NET instead of `[\p{Alpha}\p{M}\p{Nd}\p{Pc}\p{Join_Control}]`: 1. It incorrectly uses `GC=Letter` instead of `Alphabetic=Yes`; the latter includes more code points! 2. It doesn't match all of...
### Is your feature request related to a problem? Please describe. The `re` module, which is part of Python's standard library, has shockingly poor Unicode support. The biggest issue is...
## Is your feature request related to a problem? Please describe. The documentation consists of three parts: 1. Language tour 2. Reference 3. Examples Each part has significant shortcomings: The...
### Describe the bug [Here's](https://pomsky-lang.org/docs/reference/unicode-properties/#list-of-other-supported-properties) the list of boolean Unicode properties that Pomsky supports. Java only supports some of them: [documentation](https://docs.oracle.com/en/java/javase/18/docs/api/java.base/java/util/regex/Pattern.html#ubpc). Still, the supported properties should be allowed in Pomsky:...
Java, Python, and PCRE all restrict what is allowed to appear in a lookbehind assertion. These restrictions are similar, but with some differences. - In Python, a lookbehind must have...
Forward references can only appear within a _repeated_ group that also contains the group the reference refers to. For example: ``` :first( :second( ::third ) :third() )+ ``` This is...