Gyoji Compiler
Loading...
Searching...
No Matches
src
frontend
gyoji-frontend
parse-literal-int.hpp
1
/* Copyright 2025 Jonathan S. Arney
2
*
3
* Licensed under the Apache License, Version 2.0 (the "License");
4
* you may not use this file except in compliance with the License.
5
* You may obtain a copy of the License at
6
*
7
* https://github.com/jarney/gyoji/blob/master/LICENSE
8
*
9
* Unless required by applicable law or agreed to in writing, software
10
* distributed under the License is distributed on an "AS IS" BASIS,
11
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
* See the License for the specific language governing permissions and
13
* limitations under the License.
14
*/
15
#ifndef _GYOJI_INTERNAL
16
#error "This header is intended to be used internally as a part of the Gyoji front-end. Please include frontend.hpp instead."
17
#endif
18
#pragma once
19
20
namespace
Gyoji::frontend::integers {
21
22
typedef
struct
{
23
const
Gyoji::mir::Type
*parsed_type;
24
25
unsigned
char
u8_value;
26
unsigned
short
u16_value;
27
unsigned
int
u32_value;
28
unsigned
long
u64_value;
29
30
char
i8_value;
31
short
i16_value;
32
int
i32_value;
33
long
i64_value;
34
35
} ParseLiteralIntResult;
36
37
bool
parse_literal_int(
38
const
Gyoji::context::CompilerContext
& compiler_context,
39
const
Gyoji::mir::Types
& types,
40
const
Gyoji::frontend::tree::Terminal
& literal_int_token,
41
ParseLiteralIntResult & result
42
);
43
44
}
Gyoji::context::CompilerContext
Compiler Context.
Definition
gyoji-context.hpp:44
Gyoji::frontend::tree::Terminal
Represents tokens from the lexer used to represent keywords and identifiers found in the source.
Definition
tree.hpp:103
Gyoji::mir::Type
This represents a type as declared in a translation unit.
Definition
types.hpp:313
Gyoji::mir::Types
Set of types extracted from a translation unit.
Definition
types.hpp:54
Generated by
1.9.8