Gyoji Compiler
Loading...
Searching...
No Matches
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
20namespace 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}
Compiler Context.
Definition gyoji-context.hpp:44
Represents tokens from the lexer used to represent keywords and identifiers found in the source.
Definition tree.hpp:103
This represents a type as declared in a translation unit.
Definition types.hpp:313
Set of types extracted from a translation unit.
Definition types.hpp:54