token: minor cleanup of token.v (#14083)

master
yuyi 2022-04-19 18:28:27 +08:00 committed by GitHub
parent 6164654d11
commit e16ce3af88
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 132 additions and 132 deletions

View File

@ -133,12 +133,6 @@ pub enum Kind {
_end_ _end_
} }
pub const assign_tokens = [Kind.assign, .plus_assign, .minus_assign, .mult_assign, .div_assign,
.xor_assign, .mod_assign, .or_assign, .and_assign, .right_shift_assign, .left_shift_assign,
.unsigned_right_shift_assign]
const nr_tokens = int(Kind._end_)
// @FN => will be substituted with the name of the current V function // @FN => will be substituted with the name of the current V function
// @METHOD => will be substituted with ReceiverType.MethodName // @METHOD => will be substituted with ReceiverType.MethodName
// @MOD => will be substituted with the name of the current V module // @MOD => will be substituted with the name of the current V module
@ -179,9 +173,21 @@ pub enum AtKind {
vexeroot_path vexeroot_path
} }
pub const valid_at_tokens = ['@VROOT', '@VMODROOT', '@VEXEROOT', '@FN', '@METHOD', '@MOD', '@STRUCT', pub const (
assign_tokens = [Kind.assign, .plus_assign, .minus_assign, .mult_assign, .div_assign,
.xor_assign, .mod_assign, .or_assign, .and_assign, .right_shift_assign, .left_shift_assign,
.unsigned_right_shift_assign]
valid_at_tokens = ['@VROOT', '@VMODROOT', '@VEXEROOT', '@FN', '@METHOD', '@MOD', '@STRUCT',
'@VEXE', '@FILE', '@LINE', '@COLUMN', '@VHASH', '@VMOD_FILE'] '@VEXE', '@FILE', '@LINE', '@COLUMN', '@VHASH', '@VMOD_FILE']
token_str = build_token_str()
keywords = build_keys()
matcher = new_keywords_matcher<Kind>(keywords)
)
// build_keys genereates a map with keywords' string values: // build_keys genereates a map with keywords' string values:
// Keywords['return'] == .key_return // Keywords['return'] == .key_return
fn build_keys() map[string]Kind { fn build_keys() map[string]Kind {
@ -195,7 +201,7 @@ fn build_keys() map[string]Kind {
// TODO remove once we have `enum Kind { name('name') if('if') ... }` // TODO remove once we have `enum Kind { name('name') if('if') ... }`
fn build_token_str() []string { fn build_token_str() []string {
mut s := []string{len: token.nr_tokens} mut s := []string{len: int(Kind._end_)}
s[Kind.unknown] = 'unknown' s[Kind.unknown] = 'unknown'
s[Kind.eof] = 'eof' s[Kind.eof] = 'eof'
s[Kind.name] = 'name' s[Kind.name] = 'name'
@ -323,12 +329,6 @@ fn build_token_str() []string {
return s return s
} }
pub const token_str = build_token_str()
pub const keywords = build_keys()
pub const matcher = new_keywords_matcher<Kind>(keywords)
[inline] [inline]
pub fn is_key(key string) bool { pub fn is_key(key string) bool {
return int(token.keywords[key]) > 0 return int(token.keywords[key]) > 0
@ -620,122 +620,122 @@ pub fn kind_to_string(k Kind) string {
} }
pub fn kind_from_string(s string) ?Kind { pub fn kind_from_string(s string) ?Kind {
match s { return match s {
'unknown' { return .unknown } 'unknown' { .unknown }
'eof' { return .eof } 'eof' { .eof }
'name' { return .name } 'name' { .name }
'number' { return .number } 'number' { .number }
'string' { return .string } 'string' { .string }
'str_inter' { return .str_inter } 'str_inter' { .str_inter }
'chartoken' { return .chartoken } 'chartoken' { .chartoken }
'plus' { return .plus } 'plus' { .plus }
'minus' { return .minus } 'minus' { .minus }
'mul' { return .mul } 'mul' { .mul }
'div' { return .div } 'div' { .div }
'mod' { return .mod } 'mod' { .mod }
'xor' { return .xor } 'xor' { .xor }
'pipe' { return .pipe } 'pipe' { .pipe }
'inc' { return .inc } 'inc' { .inc }
'dec' { return .dec } 'dec' { .dec }
'and' { return .and } 'and' { .and }
'logical_or' { return .logical_or } 'logical_or' { .logical_or }
'not' { return .not } 'not' { .not }
'bit_not' { return .bit_not } 'bit_not' { .bit_not }
'question' { return .question } 'question' { .question }
'comma' { return .comma } 'comma' { .comma }
'semicolon' { return .semicolon } 'semicolon' { .semicolon }
'colon' { return .colon } 'colon' { .colon }
'arrow' { return .arrow } 'arrow' { .arrow }
'amp' { return .amp } 'amp' { .amp }
'hash' { return .hash } 'hash' { .hash }
'dollar' { return .dollar } 'dollar' { .dollar }
'at' { return .at } 'at' { .at }
'str_dollar' { return .str_dollar } 'str_dollar' { .str_dollar }
'left_shift' { return .left_shift } 'left_shift' { .left_shift }
'right_shift' { return .right_shift } 'right_shift' { .right_shift }
'unsigned_right_shift' { return .unsigned_right_shift } 'unsigned_right_shift' { .unsigned_right_shift }
'not_in' { return .not_in } 'not_in' { .not_in }
'not_is' { return .not_is } 'not_is' { .not_is }
'assign' { return .assign } 'assign' { .assign }
'decl_assign' { return .decl_assign } 'decl_assign' { .decl_assign }
'plus_assign' { return .plus_assign } 'plus_assign' { .plus_assign }
'minus_assign' { return .minus_assign } 'minus_assign' { .minus_assign }
'div_assign' { return .div_assign } 'div_assign' { .div_assign }
'mult_assign' { return .mult_assign } 'mult_assign' { .mult_assign }
'xor_assign' { return .xor_assign } 'xor_assign' { .xor_assign }
'mod_assign' { return .mod_assign } 'mod_assign' { .mod_assign }
'or_assign' { return .or_assign } 'or_assign' { .or_assign }
'and_assign' { return .and_assign } 'and_assign' { .and_assign }
'right_shift_assign' { return .right_shift_assign } 'right_shift_assign' { .right_shift_assign }
'left_shift_assign' { return .left_shift_assign } 'left_shift_assign' { .left_shift_assign }
'unsigned_right_shift_assign' { return .unsigned_right_shift_assign } 'unsigned_right_shift_assign' { .unsigned_right_shift_assign }
'lcbr' { return .lcbr } 'lcbr' { .lcbr }
'rcbr' { return .rcbr } 'rcbr' { .rcbr }
'lpar' { return .lpar } 'lpar' { .lpar }
'rpar' { return .rpar } 'rpar' { .rpar }
'lsbr' { return .lsbr } 'lsbr' { .lsbr }
'nilsbr' { return .nilsbr } 'nilsbr' { .nilsbr }
'rsbr' { return .rsbr } 'rsbr' { .rsbr }
'eq' { return .eq } 'eq' { .eq }
'ne' { return .ne } 'ne' { .ne }
'gt' { return .gt } 'gt' { .gt }
'lt' { return .lt } 'lt' { .lt }
'ge' { return .ge } 'ge' { .ge }
'le' { return .le } 'le' { .le }
'comment' { return .comment } 'comment' { .comment }
'nl' { return .nl } 'nl' { .nl }
'dot' { return .dot } 'dot' { .dot }
'dotdot' { return .dotdot } 'dotdot' { .dotdot }
'ellipsis' { return .ellipsis } 'ellipsis' { .ellipsis }
'keyword_beg' { return .keyword_beg } 'keyword_beg' { .keyword_beg }
'key_as' { return .key_as } 'key_as' { .key_as }
'key_asm' { return .key_asm } 'key_asm' { .key_asm }
'key_assert' { return .key_assert } 'key_assert' { .key_assert }
'key_atomic' { return .key_atomic } 'key_atomic' { .key_atomic }
'key_break' { return .key_break } 'key_break' { .key_break }
'key_const' { return .key_const } 'key_const' { .key_const }
'key_continue' { return .key_continue } 'key_continue' { .key_continue }
'key_defer' { return .key_defer } 'key_defer' { .key_defer }
'key_else' { return .key_else } 'key_else' { .key_else }
'key_enum' { return .key_enum } 'key_enum' { .key_enum }
'key_false' { return .key_false } 'key_false' { .key_false }
'key_for' { return .key_for } 'key_for' { .key_for }
'key_fn' { return .key_fn } 'key_fn' { .key_fn }
'key_global' { return .key_global } 'key_global' { .key_global }
'key_go' { return .key_go } 'key_go' { .key_go }
'key_goto' { return .key_goto } 'key_goto' { .key_goto }
'key_if' { return .key_if } 'key_if' { .key_if }
'key_import' { return .key_import } 'key_import' { .key_import }
'key_in' { return .key_in } 'key_in' { .key_in }
'key_interface' { return .key_interface } 'key_interface' { .key_interface }
'key_is' { return .key_is } 'key_is' { .key_is }
'key_match' { return .key_match } 'key_match' { .key_match }
'key_module' { return .key_module } 'key_module' { .key_module }
'key_mut' { return .key_mut } 'key_mut' { .key_mut }
'key_shared' { return .key_shared } 'key_shared' { .key_shared }
'key_lock' { return .key_lock } 'key_lock' { .key_lock }
'key_rlock' { return .key_rlock } 'key_rlock' { .key_rlock }
'key_none' { return .key_none } 'key_none' { .key_none }
'key_return' { return .key_return } 'key_return' { .key_return }
'key_select' { return .key_select } 'key_select' { .key_select }
'key_sizeof' { return .key_sizeof } 'key_sizeof' { .key_sizeof }
'key_isreftype' { return .key_isreftype } 'key_isreftype' { .key_isreftype }
'key_likely' { return .key_likely } 'key_likely' { .key_likely }
'key_unlikely' { return .key_unlikely } 'key_unlikely' { .key_unlikely }
'key_offsetof' { return .key_offsetof } 'key_offsetof' { .key_offsetof }
'key_struct' { return .key_struct } 'key_struct' { .key_struct }
'key_true' { return .key_true } 'key_true' { .key_true }
'key_type' { return .key_type } 'key_type' { .key_type }
'key_typeof' { return .key_typeof } 'key_typeof' { .key_typeof }
'key_dump' { return .key_dump } 'key_dump' { .key_dump }
'key_orelse' { return .key_orelse } 'key_orelse' { .key_orelse }
'key_union' { return .key_union } 'key_union' { .key_union }
'key_pub' { return .key_pub } 'key_pub' { .key_pub }
'key_static' { return .key_static } 'key_static' { .key_static }
'key_volatile' { return .key_volatile } 'key_volatile' { .key_volatile }
'key_unsafe' { return .key_unsafe } 'key_unsafe' { .key_unsafe }
'keyword_end' { return .keyword_end } 'keyword_end' { .keyword_end }
'_end_' { return ._end_ } '_end_' { ._end_ }
else { return error('unknown') } else { error('unknown') }
} }
} }