Skip to content

Commit

Permalink
Merge pull request #83 from behemehal/ahmtcn123/issue81
Browse files Browse the repository at this point in the history
Ahmtcn123/issue81
  • Loading branch information
ahmtcn123 authored Jan 17, 2024
2 parents 9999530 + b6f6705 commit d5b4f47
Show file tree
Hide file tree
Showing 107 changed files with 5,739 additions and 5,295 deletions.
1 change: 1 addition & 0 deletions Ellie-Language.code-workspace
Original file line number Diff line number Diff line change
Expand Up @@ -33,5 +33,6 @@
"workbench.editor.labelFormat": "short",
"workbench.startupEditor": "readme",
"window.title": "Ellie-Language ${separator}${activeEditorShort}",
"rust-analyzer.imports.preferNoStd": true,
}
}
16 changes: 9 additions & 7 deletions ellie_engine/bytecode/src/assembler.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,18 @@
use crate::instructions::Instruction;
use crate::transpiler::Transpiler;
use crate::utils::usize_to_le_bytes;
use crate::{instruction_table, utils::limit_platform_size};
use crate::{
instruction_table,
instructions::Instruction,
transpiler::Transpiler,
utils::{limit_platform_size, usize_to_le_bytes},
};
use alloc::{
format,
string::{String, ToString},
vec::Vec,
};
use ellie_core::defs::{
DebugHeader, DebugHeaderType, ModuleMap, NativeCallTrace, PlatformArchitecture,
use ellie_core::{
defs::{DebugHeader, DebugHeaderType, ModuleMap, NativeCallTrace, PlatformArchitecture},
utils::ExportPage,
};
use ellie_core::utils::ExportPage;
use ellie_parser::parser::Module;
use std::{io::Write, panic};

Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/bytecode/src/instruction_table.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
//Auto builded from `instructions.json` by `reAssembler.js` rev: 3
use crate::instructions::Instruction;
use alloc::string::String;
use alloc::{vec, vec::Vec};
use alloc::{string::String, vec, vec::Vec};
use ellie_core::defs::PlatformArchitecture;

#[derive(Clone, Debug, PartialEq)]
Expand Down
17 changes: 8 additions & 9 deletions ellie_engine/bytecode/src/transpiler/setter_call.rs
Original file line number Diff line number Diff line change
@@ -1,13 +1,12 @@
use super::type_resolver::resolve_type;
use crate::addressing_modes::AddressingModes;
use crate::instruction_table;
use crate::instructions;
use crate::utils::limit_platform_size;
use alloc::string::ToString;
use alloc::vec;
use ellie_core::definite::items::setter_call;
use ellie_core::defs::DebugHeader;
use ellie_core::defs::DebugHeaderType;
use crate::{
addressing_modes::AddressingModes, instruction_table, instructions, utils::limit_platform_size,
};
use alloc::{string::ToString, vec};
use ellie_core::{
definite::items::setter_call,
defs::{DebugHeader, DebugHeaderType},
};

impl super::Transpiler for setter_call::SetterCall {
fn transpile(
Expand Down
5 changes: 2 additions & 3 deletions ellie_engine/bytecode/src/transpiler/type_resolver.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
use alloc::vec;
use alloc::vec::Vec;
use alloc::{vec, vec::Vec};
use ellie_core::{
definite::{types::class_instance::AttributeType, types::operator, types::Types as CoreTypes},
definite::types::{class_instance::AttributeType, operator, Types as CoreTypes},
defs::PlatformArchitecture,
};

Expand Down
5 changes: 1 addition & 4 deletions ellie_engine/core/src/definite/definers.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
use crate::{definite::types::Types, defs};
use alloc::format;
use alloc::string::String;
use alloc::vec::Vec;
use alloc::{borrow::ToOwned, boxed::Box};
use alloc::{borrow::ToOwned, boxed::Box, format, string::String, vec::Vec};
use enum_as_inner::EnumAsInner;
use serde::{Deserialize, Serialize};

Expand Down
9 changes: 5 additions & 4 deletions ellie_engine/core/src/definite/items/condition.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
use crate::alloc::vec::Vec;
use crate::definite::types;
use crate::defs;
use crate::{alloc::boxed::Box, definite::definers::DefinerCollecting};
use crate::{
alloc::{boxed::Box, vec::Vec},
definite::{definers::DefinerCollecting, types},
defs,
};
use serde::{Deserialize, Serialize};

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/items/constructor.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
use crate::defs;
use alloc::string::String;
use alloc::vec::Vec;
use alloc::{string::String, vec::Vec};
use serde::{Deserialize, Serialize};

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
Expand Down
6 changes: 2 additions & 4 deletions ellie_engine/core/src/definite/items/constructor_parameter.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
use crate::definite::definers::DefinerCollecting;
use crate::defs;
use crate::{definite::definers::DefinerCollecting, defs};
use alloc::string::String;
use serde::Deserialize;
use serde::Serialize;
use serde::{Deserialize, Serialize};

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
pub struct ConstructorParameter {
Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/items/enum_type.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
use crate::definite::definers;
use alloc::string::String;
use alloc::vec::Vec;
use alloc::{string::String, vec::Vec};
use serde::{Deserialize, Serialize};

use super::file_key::FileKey;
Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/items/file_key.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::definite::types;
use crate::defs;
use crate::{definite::types, defs};
use alloc::string::String;
use serde::{Deserialize, Serialize};

Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/items/for_loop.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::definite::types;
use crate::defs;
use crate::{definite::types, defs};
use serde::{Deserialize, Serialize};

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
Expand Down
6 changes: 2 additions & 4 deletions ellie_engine/core/src/definite/items/function.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
use crate::definite::definers;
use crate::defs;
use alloc::string::String;
use alloc::vec::Vec;
use crate::{definite::definers, defs};
use alloc::{string::String, vec::Vec};
use serde::{Deserialize, Serialize};

use super::file_key::FileKey;
Expand Down
6 changes: 2 additions & 4 deletions ellie_engine/core/src/definite/items/function_parameter.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
use crate::definite::definers;
use crate::defs;
use crate::{definite::definers, defs};
use alloc::string::String;
use serde::Deserialize;
use serde::Serialize;
use serde::{Deserialize, Serialize};

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
pub struct FunctionParameter {
Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/items/getter.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::definite::definers;
use crate::defs;
use crate::{definite::definers, defs};
use alloc::{string::String, vec::Vec};
use serde::{Deserialize, Serialize};

Expand Down
6 changes: 2 additions & 4 deletions ellie_engine/core/src/definite/items/native_function.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
use crate::definite::definers;
use crate::defs;
use alloc::string::String;
use alloc::vec::Vec;
use crate::{definite::definers, defs};
use alloc::{string::String, vec::Vec};
use serde::{Deserialize, Serialize};

use super::file_key::FileKey;
Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/items/ret.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::definite::types;
use crate::defs;
use crate::{definite::types, defs};
use serde::{Deserialize, Serialize};

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/items/self_item.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use serde::Deserialize;
use serde::Serialize;
use serde::{Deserialize, Serialize};

use crate::defs::Cursor;

Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/items/setter.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::definite::definers;
use crate::defs;
use crate::{definite::definers, defs};
use alloc::{string::String, vec::Vec};
use serde::{Deserialize, Serialize};

Expand Down
9 changes: 5 additions & 4 deletions ellie_engine/core/src/definite/items/variable.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
use crate::definite::{definers, types};
use crate::defs;
use alloc::string::String;
use alloc::vec::Vec;
use crate::{
definite::{definers, types},
defs,
};
use alloc::{string::String, vec::Vec};
use serde::{Deserialize, Serialize};

use super::file_key::FileKey;
Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/mod.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::alloc::string::String;
use crate::alloc::vec::Vec;
use crate::alloc::{string::String, vec::Vec};
pub mod definers;
pub mod items;
pub mod types;
Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/types/array.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::definite::types;
use crate::defs;
use crate::{definite::types, defs};
use alloc::vec::Vec;
use serde::{Deserialize, Serialize};

Expand Down
10 changes: 5 additions & 5 deletions ellie_engine/core/src/definite/types/class_call.rs
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
use crate::definite::definers::DefinerCollecting;
use crate::definite::{definers, types};
use crate::defs;
use alloc::boxed::Box;
use alloc::vec::Vec;
use crate::{
definite::{definers, definers::DefinerCollecting, types},
defs,
};
use alloc::{boxed::Box, vec::Vec};
use serde::{Deserialize, Serialize};

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/types/cloak.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::definite::types;
use crate::defs;
use crate::{definite::types, defs};
use alloc::vec::Vec;
use serde::{Deserialize, Serialize};

Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/types/collective.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::definite::types;
use crate::defs;
use crate::{definite::types, defs};
use alloc::{string::String, vec::Vec};
use serde::{Deserialize, Serialize};

Expand Down
9 changes: 5 additions & 4 deletions ellie_engine/core/src/definite/types/function.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
use crate::definite::{definers, items::Collecting};
use crate::defs;
use alloc::string::String;
use alloc::vec::Vec;
use crate::{
definite::{definers, items::Collecting},
defs,
};
use alloc::{string::String, vec::Vec};
use serde::{Deserialize, Serialize};

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
Expand Down
7 changes: 4 additions & 3 deletions ellie_engine/core/src/definite/types/function_call.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
use crate::definite::definers;
use crate::definite::{definers::DefinerCollecting, types};
use crate::defs;
use crate::{
definite::{definers, definers::DefinerCollecting, types},
defs,
};
use alloc::{boxed::Box, vec::Vec};
use serde::{Deserialize, Serialize};

Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/definite/types/operator.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::definite::types;
use crate::defs;
use crate::{definite::types, defs};
use serde::{Deserialize, Serialize};

#[derive(PartialEq, Debug, Clone, Serialize, Deserialize)]
Expand Down
7 changes: 2 additions & 5 deletions ellie_engine/core/src/definite/types/reference.rs
Original file line number Diff line number Diff line change
@@ -1,10 +1,7 @@
use crate::definite::types;
use crate::defs;
use crate::{definite::types, defs};
use serde::{Deserialize, Serialize};

use alloc::boxed::Box;
use alloc::string::String;
use alloc::vec::Vec;
use alloc::{boxed::Box, string::String, vec::Vec};

use super::class_instance::AttributeType;

Expand Down
11 changes: 8 additions & 3 deletions ellie_engine/core/src/error/error_list.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::alloc::borrow::ToOwned;
use crate::error;
use crate::{alloc::borrow::ToOwned, error};

lazy_static! {
pub static ref ERROR_S1: error::Error = error::Error {
Expand Down Expand Up @@ -335,7 +334,7 @@ lazy_static! {
pub static ref ERROR_S55: error::Error = error::Error {
code: 0x54,
title: "TypeError".to_owned(),
message: "Consider giving this a type".to_owned(),
message: "Consider giving a type to this".to_owned(),
..Default::default()
};
pub static ref ERROR_S56: error::Error = error::Error {
Expand Down Expand Up @@ -408,4 +407,10 @@ lazy_static! {
full_assist: true,
..Default::default()
};
pub static ref ERROR_S66: error::Error = error::Error {
code: 0x65,
title: "ReferenceError".to_owned(),
message: "Cannot apply unary operator".to_owned(),
..Default::default()
};
}
6 changes: 4 additions & 2 deletions ellie_engine/core/src/error/mod.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,8 @@
use crate::alloc::borrow::ToOwned;
use alloc::string::{String, ToString};
use alloc::vec::Vec;
use alloc::{
string::{String, ToString},
vec::Vec,
};
use core::clone::Clone;
use serde::{Deserialize, Serialize};
#[doc(hidden)]
Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/information.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
use alloc::vec::Vec;
use core::any::Any;
use core::clone::Clone;
use core::{any::Any, clone::Clone};
use serde::{Deserialize, Serialize};

/// Parser's output colider, it contains a list of warnings and errors and implements some of the [`Vec`] methods
Expand Down
27 changes: 15 additions & 12 deletions ellie_engine/core/src/utils/mod.rs
Original file line number Diff line number Diff line change
@@ -1,18 +1,21 @@
use core::ops::{Index, IndexMut};

use alloc::borrow::ToOwned;
use alloc::string::{String, ToString};
use alloc::vec;
use alloc::vec::Vec;
use alloc::{
borrow::ToOwned,
string::{String, ToString},
vec,
vec::Vec,
};
use rand;
use serde::{Deserialize, Serialize};

use crate::definite::types::operator::Operators;
use crate::definite::types::operator::{
assignment_operator_to_string, comparison_operator_to_string, logical_operator_to_string,
ArithmeticOperators, AssignmentOperators,
use crate::{
definite::types::operator::{
assignment_operator_to_string, comparison_operator_to_string, logical_operator_to_string,
ArithmeticOperators, AssignmentOperators, Operators,
},
defs, error,
};
use crate::{defs, error};

/// Response of [`reliable_name_range`] function
/// ## Fields
Expand Down Expand Up @@ -363,14 +366,14 @@ pub fn operator_control(
| ("float", "double")
| ("double", "double")
| ("double", "float") => None,
| ("dyn", _) => None,
| (_, "dyn") => None,
("dyn", _) => None,
(_, "dyn") => None,
(a, b) => {
if a == b {
return None;
}
Some(comparison_operator_to_string(operator))
},
}
}
}
crate::definite::types::operator::ComparisonOperators::GreaterThan
Expand Down
3 changes: 1 addition & 2 deletions ellie_engine/core/src/warning/warning_list.rs
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
use crate::alloc::borrow::ToOwned;
use crate::warning;
use crate::{alloc::borrow::ToOwned, warning};

lazy_static! {
pub static ref WARNING_S1: warning::Warning = warning::Warning {
Expand Down
Loading

0 comments on commit d5b4f47

Please sign in to comment.