From 0b3ee3bf929563e673382e0d38c72022711be128 Mon Sep 17 00:00:00 2001 From: sofia Date: Fri, 25 Jul 2025 15:55:14 +0300 Subject: [PATCH] Refactor some more --- reid/src/{ => ast}/lexer.rs | 0 reid/src/ast/mod.rs | 6 +++++- reid/src/ast/parse.rs | 7 +++---- reid/src/{ => ast}/token_stream.rs | 0 reid/src/error_raporting.rs | 2 +- reid/src/lib.rs | 9 +++++---- reid/src/mir/mod.rs | 2 +- 7 files changed, 15 insertions(+), 11 deletions(-) rename reid/src/{ => ast}/lexer.rs (100%) rename reid/src/{ => ast}/token_stream.rs (100%) diff --git a/reid/src/lexer.rs b/reid/src/ast/lexer.rs similarity index 100% rename from reid/src/lexer.rs rename to reid/src/ast/lexer.rs diff --git a/reid/src/ast/mod.rs b/reid/src/ast/mod.rs index 524baa0..71afdd0 100644 --- a/reid/src/ast/mod.rs +++ b/reid/src/ast/mod.rs @@ -3,10 +3,14 @@ //! used for unwrapping syntax sugar, and then be transformed into Reid MIR. use std::path::PathBuf; -use crate::{lexer::FullToken, token_stream::TokenRange}; +use token_stream::TokenRange; +use crate::lexer::FullToken; + +pub mod lexer; pub mod parse; pub mod process; +pub mod token_stream; #[derive(Debug, Clone)] pub struct Type(pub TypeKind, pub TokenRange); diff --git a/reid/src/ast/parse.rs b/reid/src/ast/parse.rs index bf18f2a..6cf43b5 100644 --- a/reid/src/ast/parse.rs +++ b/reid/src/ast/parse.rs @@ -1,8 +1,7 @@ use crate::ast::*; -use crate::{ - lexer::Token, - token_stream::{Error, TokenStream}, -}; +use crate::lexer::Token; + +use super::token_stream::{Error, TokenStream}; pub trait Parse where diff --git a/reid/src/token_stream.rs b/reid/src/ast/token_stream.rs similarity index 100% rename from reid/src/token_stream.rs rename to reid/src/ast/token_stream.rs diff --git a/reid/src/error_raporting.rs b/reid/src/error_raporting.rs index 1d3852a..16070e8 100644 --- a/reid/src/error_raporting.rs +++ b/reid/src/error_raporting.rs @@ -4,10 +4,10 @@ use std::{ }; use crate::{ + ast::token_stream::{self, TokenRange}, codegen, lexer::{self, Cursor, FullToken, Position}, mir::{self, pass, Metadata, SourceModuleId}, - token_stream::{self, TokenRange}, }; fn label(text: &str) -> &str { diff --git a/reid/src/lib.rs b/reid/src/lib.rs index 56fed4c..ade689f 100644 --- a/reid/src/lib.rs +++ b/reid/src/lib.rs @@ -43,24 +43,25 @@ use std::path::PathBuf; +use ast::{ + lexer::{self, FullToken, Token}, + token_stream::TokenStream, +}; use codegen::intrinsics::{form_intrinsic_binops, form_intrinsics}; use error_raporting::{ErrorKind as ErrorRapKind, ErrorModules, ReidError}; -use lexer::FullToken; use mir::{ linker::LinkerPass, typecheck::TypeCheck, typeinference::TypeInference, typerefs::TypeRefs, }; use reid_lib::{compile::CompileOutput, Context}; -use crate::{ast::TopLevelStatement, lexer::Token, token_stream::TokenStream}; +use crate::ast::TopLevelStatement; mod ast; mod codegen; pub mod error_raporting; pub mod ld; -mod lexer; pub mod mir; mod pad_adapter; -mod token_stream; mod util; pub fn parse_module<'map, T: Into>( diff --git a/reid/src/mir/mod.rs b/reid/src/mir/mod.rs index 9039d8b..315f2ac 100644 --- a/reid/src/mir/mod.rs +++ b/reid/src/mir/mod.rs @@ -5,9 +5,9 @@ use std::{collections::HashMap, path::PathBuf}; use crate::{ + ast::token_stream::TokenRange, codegen::intrinsics::IntrinsicFunction, lexer::{FullToken, Position}, - token_stream::TokenRange, }; mod fmt;