Skip to content
← Back

src/syntax/parsers/identifiers/identifier.ghul

1
namespace Syntax.Parsers.Identifiers is
2
use IO.Std
3
4
use Source
5
6
class IDENTIFIER(): Base[Trees.Identifiers.Identifier] is
7
description: string => "identifier"
8
9
super()
10
11
parse(context: CONTEXT) -> Trees.Identifiers.Identifier? =>
12
if context.expect_token(Lexical.TOKEN.IDENTIFIER, syntax_error_message) then
13
let name = context.current.value_string
14
let result = Trees.Identifiers.Identifier(context.location, name)
15
context.next_token()
16
17
result
18
else
19
null
20
fi
21
si
22
si