[#525] | project: compiler | priority: low | category: bug | |
---|---|---|---|---|
submitter | assigned to | status | date submitted | |
Lex | Martin | fixed | 2006-02-07 16:49:28.0 | |
subject | non-ascii identifiers | |||
code |
object Hello { val héllo = 3; } |
|||
what happened | This gives three weird compiler errors. |
|||
what expected | Specification allows this. More generally, the range of input characters the scanner accepts is way smaller than that permitted by the specification. Have a look at this page for Unicode categories. Identifiers should support Lu, Ll, Lo, Lt, Nl and '$', '_' (only Ll, Lu, '$', '_' as first character). Operator-identifiers should support Sm, So and '!', '#', '%', '&', '*', '-', '/', ':', '?', '@', '\', '^'. |
|||
[back to overview] |
Gilles edited on 2006-03-27 17:10:36.0 |
Gilles edited on 2006-03-27 17:30:47.0 |
Maybe syntax should be updated to broaden range as much as possible:
upper ::= <Lu> | <Sc> | <Pc> lower ::= <Ll> letter ::= upper | lower | <Lo> | <Lt> | <Nl> digit ::= <N> special ::= <Po> | <Pd> | <Sk> | <Sm> | <So>where <X> are all characters in Unicode category X.
|
Gilles edited on 2006-03-27 18:24:04.0 |