orbit-lang/Bootstrap

Investigation - Lexer - Support Unicode Identifiers

開放

#8 建立於 2021年8月22日

 (0 則留言) (0 個反應) (0 位負責人)Kotlin (0 個分叉)auto 404
Lexerenhancementgood first issuequestion

倉庫指標

星標
 (0 顆星)
PR 合併指標
 (PR 指標待抓取)

描述

Currently, the lexer only matches [a-z_]+[a-zA-Z0-9_]* for identifiers (terms). However, most modern languages support the full set of Unicode word characters.

It its important to remember that Orbit is opinionated about identifiers, requiring them to begin with 1 or more lowercase letters, to distinguish them from type identifiers, which are always capitalised.

Before we can support Unicode identifiers, we need to determine what we consider a lowercase character. Do we say any character outside of ASCII a-z can be used in place of a lowercase? Or, do we define a strict subset of Unicode characters that may be used as lowercase?

貢獻者指南