mirror of
https://github.com/erg-lang/erg.git
synced 2025-10-03 05:54:33 +00:00
Merge branch 'main' into improve-repl
This commit is contained in:
commit
fa476b93a4
31 changed files with 539 additions and 122 deletions
|
@ -15,8 +15,7 @@
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
[
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=28bb235053ad0b43ff8e399199960d095ed7c70c)
|
||||||
](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=28bb235053ad0b43ff8e399199960d095ed7c70c)
|
|
||||||
|
|
||||||
## Ergはこんな人におすすめです:
|
## Ergはこんな人におすすめです:
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,7 @@
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
[
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=f3a919ae3ad3924c2eab00721336a25e2dacec52)
|
||||||
](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=f3a919ae3ad3924c2eab00721336a25e2dacec52)
|
|
||||||
|
|
||||||
## Erg可以推荐给以下人员:
|
## Erg可以推荐给以下人员:
|
||||||
|
|
||||||
|
|
|
@ -15,8 +15,7 @@
|
||||||
</a>
|
</a>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
[
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=f3a919ae3ad3924c2eab00721336a25e2dacec52)
|
||||||
](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=f3a919ae3ad3924c2eab00721336a25e2dacec52)
|
|
||||||
|
|
||||||
## Erg可以推薦給以下人員:
|
## Erg可以推薦給以下人員:
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,36 @@ pub type ELSResult<T> = Result<T, Box<dyn std::error::Error>>;
|
||||||
|
|
||||||
pub type ErgLanguageServer = Server<HIRBuilder>;
|
pub type ErgLanguageServer = Server<HIRBuilder>;
|
||||||
|
|
||||||
|
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
|
||||||
|
pub enum ELSFeatures {
|
||||||
|
Completion,
|
||||||
|
Diagnostic,
|
||||||
|
Hover,
|
||||||
|
SemanticTokens,
|
||||||
|
Rename,
|
||||||
|
InlayHint,
|
||||||
|
FindReferences,
|
||||||
|
GotoDefinition,
|
||||||
|
}
|
||||||
|
|
||||||
|
impl From<&str> for ELSFeatures {
|
||||||
|
fn from(s: &str) -> Self {
|
||||||
|
match s {
|
||||||
|
"completion" => ELSFeatures::Completion,
|
||||||
|
"diagnostic" => ELSFeatures::Diagnostic,
|
||||||
|
"hover" => ELSFeatures::Hover,
|
||||||
|
"semantictoken" | "semantictokens" | "semanticToken" | "semanticTokens"
|
||||||
|
| "semantic-tokens" => ELSFeatures::SemanticTokens,
|
||||||
|
"rename" => ELSFeatures::Rename,
|
||||||
|
"inlayhint" | "inlayhints" | "inlayHint" | "inlayHints" | "inlay-hint"
|
||||||
|
| "inlay-hints" => ELSFeatures::InlayHint,
|
||||||
|
"findreferences" | "findReferences" | "find-references" => ELSFeatures::FindReferences,
|
||||||
|
"gotodefinition" | "gotoDefinition" | "goto-completion" => ELSFeatures::GotoDefinition,
|
||||||
|
_ => panic!("unknown feature: {s}"),
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
macro_rules! _log {
|
macro_rules! _log {
|
||||||
($($arg:tt)*) => {
|
($($arg:tt)*) => {
|
||||||
Self::send_log(format!($($arg)*)).unwrap();
|
Self::send_log(format!($($arg)*)).unwrap();
|
||||||
|
@ -117,6 +147,15 @@ impl<Checker: BuildRunnable> Server<Checker> {
|
||||||
self.client_capas = ClientCapabilities::deserialize(&msg["params"]["capabilities"])?;
|
self.client_capas = ClientCapabilities::deserialize(&msg["params"]["capabilities"])?;
|
||||||
// Self::send_log(format!("set client capabilities: {:?}", self.client_capas))?;
|
// Self::send_log(format!("set client capabilities: {:?}", self.client_capas))?;
|
||||||
}
|
}
|
||||||
|
let mut args = self.cfg.runtime_args.iter();
|
||||||
|
let mut disabled_features = vec![];
|
||||||
|
while let Some(&arg) = args.next() {
|
||||||
|
if arg == "--disable" {
|
||||||
|
if let Some(&feature) = args.next() {
|
||||||
|
disabled_features.push(ELSFeatures::from(feature));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
let mut result = InitializeResult::default();
|
let mut result = InitializeResult::default();
|
||||||
result.capabilities = ServerCapabilities::default();
|
result.capabilities = ServerCapabilities::default();
|
||||||
result.capabilities.text_document_sync =
|
result.capabilities.text_document_sync =
|
||||||
|
@ -128,8 +167,17 @@ impl<Checker: BuildRunnable> Server<Checker> {
|
||||||
result.capabilities.rename_provider = Some(OneOf::Left(true));
|
result.capabilities.rename_provider = Some(OneOf::Left(true));
|
||||||
result.capabilities.references_provider = Some(OneOf::Left(true));
|
result.capabilities.references_provider = Some(OneOf::Left(true));
|
||||||
result.capabilities.definition_provider = Some(OneOf::Left(true));
|
result.capabilities.definition_provider = Some(OneOf::Left(true));
|
||||||
result.capabilities.hover_provider = Some(HoverProviderCapability::Simple(true));
|
result.capabilities.hover_provider = if disabled_features.contains(&ELSFeatures::Hover) {
|
||||||
result.capabilities.inlay_hint_provider = Some(OneOf::Left(true));
|
None
|
||||||
|
} else {
|
||||||
|
Some(HoverProviderCapability::Simple(true))
|
||||||
|
};
|
||||||
|
result.capabilities.inlay_hint_provider =
|
||||||
|
if disabled_features.contains(&ELSFeatures::InlayHint) {
|
||||||
|
None
|
||||||
|
} else {
|
||||||
|
Some(OneOf::Left(true))
|
||||||
|
};
|
||||||
let mut sema_options = SemanticTokensOptions::default();
|
let mut sema_options = SemanticTokensOptions::default();
|
||||||
sema_options.range = Some(false);
|
sema_options.range = Some(false);
|
||||||
sema_options.full = Some(SemanticTokensFullOptions::Bool(true));
|
sema_options.full = Some(SemanticTokensFullOptions::Bool(true));
|
||||||
|
@ -151,9 +199,14 @@ impl<Checker: BuildRunnable> Server<Checker> {
|
||||||
],
|
],
|
||||||
token_modifiers: vec![],
|
token_modifiers: vec![],
|
||||||
};
|
};
|
||||||
result.capabilities.semantic_tokens_provider = Some(
|
result.capabilities.semantic_tokens_provider =
|
||||||
SemanticTokensServerCapabilities::SemanticTokensOptions(sema_options),
|
if disabled_features.contains(&ELSFeatures::SemanticTokens) {
|
||||||
);
|
None
|
||||||
|
} else {
|
||||||
|
Some(SemanticTokensServerCapabilities::SemanticTokensOptions(
|
||||||
|
sema_options,
|
||||||
|
))
|
||||||
|
};
|
||||||
Self::send(&json!({
|
Self::send(&json!({
|
||||||
"jsonrpc": "2.0",
|
"jsonrpc": "2.0",
|
||||||
"id": id,
|
"id": id,
|
||||||
|
|
|
@ -468,7 +468,7 @@ impl ErgConfig {
|
||||||
|
|
||||||
pub fn dump_pyc_path(&self) -> PathBuf {
|
pub fn dump_pyc_path(&self) -> PathBuf {
|
||||||
let mut dump_path = self.dump_path();
|
let mut dump_path = self.dump_path();
|
||||||
dump_path.set_extension(".pyc");
|
dump_path.set_extension("pyc");
|
||||||
dump_path
|
dump_path
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -332,7 +332,9 @@ impl PyCodeGenerator {
|
||||||
} else {
|
} else {
|
||||||
jump_to
|
jump_to
|
||||||
};
|
};
|
||||||
if !CommonOpcode::is_jump_op(*self.cur_block_codeobj().code.get(idx - 1).unwrap()) {
|
if idx == 0
|
||||||
|
|| !CommonOpcode::is_jump_op(*self.cur_block_codeobj().code.get(idx - 1).unwrap())
|
||||||
|
{
|
||||||
self.crash(&format!("calc_edit_jump: not jump op: {idx} {jump_to}"));
|
self.crash(&format!("calc_edit_jump: not jump op: {idx} {jump_to}"));
|
||||||
}
|
}
|
||||||
self.edit_code(idx, arg);
|
self.edit_code(idx, arg);
|
||||||
|
@ -475,6 +477,7 @@ impl PyCodeGenerator {
|
||||||
fn emit_load_const<C: Into<ValueObj>>(&mut self, cons: C) {
|
fn emit_load_const<C: Into<ValueObj>>(&mut self, cons: C) {
|
||||||
let value: ValueObj = cons.into();
|
let value: ValueObj = cons.into();
|
||||||
let is_str = value.is_str();
|
let is_str = value.is_str();
|
||||||
|
let is_float = value.is_float();
|
||||||
let is_int = value.is_int();
|
let is_int = value.is_int();
|
||||||
let is_nat = value.is_nat();
|
let is_nat = value.is_nat();
|
||||||
let is_bool = value.is_bool();
|
let is_bool = value.is_bool();
|
||||||
|
@ -488,12 +491,15 @@ impl PyCodeGenerator {
|
||||||
} else if is_int {
|
} else if is_int {
|
||||||
self.emit_push_null();
|
self.emit_push_null();
|
||||||
self.emit_load_name_instr(Identifier::public("Int"));
|
self.emit_load_name_instr(Identifier::public("Int"));
|
||||||
|
} else if is_float {
|
||||||
|
self.emit_push_null();
|
||||||
|
self.emit_load_name_instr(Identifier::public("Float"));
|
||||||
} else if is_str {
|
} else if is_str {
|
||||||
self.emit_push_null();
|
self.emit_push_null();
|
||||||
self.emit_load_name_instr(Identifier::public("Str"));
|
self.emit_load_name_instr(Identifier::public("Str"));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let wrapped = is_str || is_int; // is_int => is_nat and is_bool
|
let wrapped = is_str || is_float; // is_float => is_int && is_nat && is_bool
|
||||||
let idx = self
|
let idx = self
|
||||||
.mut_cur_block_codeobj()
|
.mut_cur_block_codeobj()
|
||||||
.consts
|
.consts
|
||||||
|
@ -678,7 +684,7 @@ impl PyCodeGenerator {
|
||||||
"if__" | "for__" | "while__" | "with__" | "discard__" => {
|
"if__" | "for__" | "while__" | "with__" | "discard__" => {
|
||||||
self.load_control();
|
self.load_control();
|
||||||
}
|
}
|
||||||
"int__" | "nat__" => {
|
"int__" | "nat__" | "str__" | "float__" => {
|
||||||
self.load_convertors();
|
self.load_convertors();
|
||||||
}
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
|
@ -882,6 +888,14 @@ impl PyCodeGenerator {
|
||||||
println!("current block: {}", self.cur_block());
|
println!("current block: {}", self.cur_block());
|
||||||
panic!("internal error: {description}");
|
panic!("internal error: {description}");
|
||||||
} else {
|
} else {
|
||||||
|
let err = CompileError::compiler_bug(
|
||||||
|
0,
|
||||||
|
self.input().clone(),
|
||||||
|
Location::Unknown,
|
||||||
|
fn_name!(),
|
||||||
|
line!(),
|
||||||
|
);
|
||||||
|
err.write_to_stderr();
|
||||||
process::exit(1);
|
process::exit(1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -402,6 +402,8 @@ impl Context {
|
||||||
let mut bool_show = Self::builtin_methods(Some(mono(SHOW)), 1);
|
let mut bool_show = Self::builtin_methods(Some(mono(SHOW)), 1);
|
||||||
bool_show.register_builtin_erg_impl(TO_STR, fn0_met(Bool, Str), Immutable, Public);
|
bool_show.register_builtin_erg_impl(TO_STR, fn0_met(Bool, Str), Immutable, Public);
|
||||||
bool_.register_trait(Bool, bool_show);
|
bool_.register_trait(Bool, bool_show);
|
||||||
|
let t = fn0_met(Bool, Bool);
|
||||||
|
bool_.register_builtin_py_impl(FUNC_INVERT, t, Immutable, Public, Some(FUNC_INVERT));
|
||||||
/* Str */
|
/* Str */
|
||||||
let mut str_ = Self::builtin_mono_class(STR, 10);
|
let mut str_ = Self::builtin_mono_class(STR, 10);
|
||||||
str_.register_superclass(Obj, &obj);
|
str_.register_superclass(Obj, &obj);
|
||||||
|
@ -455,6 +457,119 @@ impl Context {
|
||||||
Immutable,
|
Immutable,
|
||||||
Public,
|
Public,
|
||||||
);
|
);
|
||||||
|
str_.register_builtin_py_impl(
|
||||||
|
FUNC_STARTSWITH,
|
||||||
|
fn1_met(Str, Str, Bool),
|
||||||
|
Immutable,
|
||||||
|
Public,
|
||||||
|
Some(FUNC_STARTSWITH),
|
||||||
|
);
|
||||||
|
str_.register_builtin_py_impl(
|
||||||
|
FUNC_ENDSWITH,
|
||||||
|
fn1_met(Str, Str, Bool),
|
||||||
|
Immutable,
|
||||||
|
Public,
|
||||||
|
Some(FUNC_ENDSWITH),
|
||||||
|
);
|
||||||
|
str_.register_builtin_py_impl(
|
||||||
|
FUNC_SPLIT,
|
||||||
|
fn_met(
|
||||||
|
Str,
|
||||||
|
vec![kw(KW_SEP, Str)],
|
||||||
|
None,
|
||||||
|
vec![kw(KW_MAXSPLIT, Nat)],
|
||||||
|
unknown_len_array_t(Str),
|
||||||
|
),
|
||||||
|
Immutable,
|
||||||
|
Public,
|
||||||
|
Some(FUNC_SPLIT),
|
||||||
|
);
|
||||||
|
str_.register_builtin_py_impl(
|
||||||
|
FUNC_SPLITLINES,
|
||||||
|
fn_met(
|
||||||
|
Str,
|
||||||
|
vec![],
|
||||||
|
None,
|
||||||
|
vec![kw(KW_KEEPENDS, Bool)],
|
||||||
|
unknown_len_array_t(Str),
|
||||||
|
),
|
||||||
|
Immutable,
|
||||||
|
Public,
|
||||||
|
Some(FUNC_SPLITLINES),
|
||||||
|
);
|
||||||
|
str_.register_builtin_py_impl(
|
||||||
|
FUNC_JOIN,
|
||||||
|
fn1_met(unknown_len_array_t(Str), Str, Str),
|
||||||
|
Immutable,
|
||||||
|
Public,
|
||||||
|
Some(FUNC_JOIN),
|
||||||
|
);
|
||||||
|
str_.register_builtin_py_impl(
|
||||||
|
FUNC_INDEX,
|
||||||
|
fn_met(
|
||||||
|
Str,
|
||||||
|
vec![kw(KW_SUB, Str)],
|
||||||
|
None,
|
||||||
|
vec![kw(KW_START, Nat), kw(KW_END, Nat)],
|
||||||
|
or(Nat, Never),
|
||||||
|
),
|
||||||
|
Immutable,
|
||||||
|
Public,
|
||||||
|
Some(FUNC_INDEX),
|
||||||
|
);
|
||||||
|
str_.register_builtin_py_impl(
|
||||||
|
FUNC_RINDEX,
|
||||||
|
fn_met(
|
||||||
|
Str,
|
||||||
|
vec![kw(KW_SUB, Str)],
|
||||||
|
None,
|
||||||
|
vec![kw(KW_START, Nat), kw(KW_END, Nat)],
|
||||||
|
or(Nat, Never),
|
||||||
|
),
|
||||||
|
Immutable,
|
||||||
|
Public,
|
||||||
|
Some(FUNC_RINDEX),
|
||||||
|
);
|
||||||
|
str_.register_builtin_py_impl(
|
||||||
|
FUNC_FIND,
|
||||||
|
fn_met(
|
||||||
|
Str,
|
||||||
|
vec![kw(KW_SUB, Str)],
|
||||||
|
None,
|
||||||
|
vec![kw(KW_START, Nat), kw(KW_END, Nat)],
|
||||||
|
or(Nat, v_enum(set! {(-1).into()})),
|
||||||
|
),
|
||||||
|
Immutable,
|
||||||
|
Public,
|
||||||
|
Some(FUNC_FIND),
|
||||||
|
);
|
||||||
|
str_.register_builtin_py_impl(
|
||||||
|
FUNC_RFIND,
|
||||||
|
fn_met(
|
||||||
|
Str,
|
||||||
|
vec![kw(KW_SUB, Str)],
|
||||||
|
None,
|
||||||
|
vec![kw(KW_START, Nat), kw(KW_END, Nat)],
|
||||||
|
or(Nat, v_enum(set! {(-1).into()})),
|
||||||
|
),
|
||||||
|
Immutable,
|
||||||
|
Public,
|
||||||
|
Some(FUNC_RFIND),
|
||||||
|
);
|
||||||
|
str_.register_builtin_py_impl(
|
||||||
|
FUNC_COUNT,
|
||||||
|
fn_met(
|
||||||
|
Str,
|
||||||
|
vec![kw(KW_SUB, Str)],
|
||||||
|
None,
|
||||||
|
vec![kw(KW_START, Nat), kw(KW_END, Nat)],
|
||||||
|
Nat,
|
||||||
|
),
|
||||||
|
Immutable,
|
||||||
|
Public,
|
||||||
|
Some(FUNC_COUNT),
|
||||||
|
);
|
||||||
|
str_.register_builtin_erg_impl(FUNC_CONTAINS, fn1_met(Str, Str, Bool), Immutable, Public);
|
||||||
let str_getitem_t = fn1_kw_met(Str, kw(KW_IDX, Nat), Str);
|
let str_getitem_t = fn1_kw_met(Str, kw(KW_IDX, Nat), Str);
|
||||||
str_.register_builtin_erg_impl(FUNDAMENTAL_GETITEM, str_getitem_t, Immutable, Public);
|
str_.register_builtin_erg_impl(FUNDAMENTAL_GETITEM, str_getitem_t, Immutable, Public);
|
||||||
let mut str_eq = Self::builtin_methods(Some(mono(EQ)), 2);
|
let mut str_eq = Self::builtin_methods(Some(mono(EQ)), 2);
|
||||||
|
@ -969,6 +1084,8 @@ impl Context {
|
||||||
);
|
);
|
||||||
bool_mut_mutable.register_builtin_erg_impl(PROC_UPDATE, t, Immutable, Public);
|
bool_mut_mutable.register_builtin_erg_impl(PROC_UPDATE, t, Immutable, Public);
|
||||||
bool_mut.register_trait(mono(MUT_BOOL), bool_mut_mutable);
|
bool_mut.register_trait(mono(MUT_BOOL), bool_mut_mutable);
|
||||||
|
let t = pr0_met(mono(MUT_BOOL), NoneType);
|
||||||
|
bool_mut.register_builtin_py_impl(PROC_INVERT, t, Immutable, Public, Some(FUNC_INVERT));
|
||||||
/* Str! */
|
/* Str! */
|
||||||
let mut str_mut = Self::builtin_mono_class(MUT_STR, 2);
|
let mut str_mut = Self::builtin_mono_class(MUT_STR, 2);
|
||||||
str_mut.register_superclass(Str, &nonetype);
|
str_mut.register_superclass(Str, &nonetype);
|
||||||
|
|
|
@ -278,7 +278,7 @@ impl Context {
|
||||||
);
|
);
|
||||||
self.register_builtin_py_impl(FUNC_ROUND, t_round, Immutable, vis, Some(FUNC_ROUND));
|
self.register_builtin_py_impl(FUNC_ROUND, t_round, Immutable, vis, Some(FUNC_ROUND));
|
||||||
self.register_builtin_py_impl(FUNC_SORTED, t_sorted, Immutable, vis, Some(FUNC_SORTED));
|
self.register_builtin_py_impl(FUNC_SORTED, t_sorted, Immutable, vis, Some(FUNC_SORTED));
|
||||||
self.register_builtin_py_impl(FUNC_STR, t_str, Immutable, vis, Some(FUNC_STR));
|
self.register_builtin_py_impl(FUNC_STR, t_str, Immutable, vis, Some(FUNC_STR__));
|
||||||
self.register_builtin_py_impl(FUNC_SUM, t_sum, Immutable, vis, Some(FUNC_SUM));
|
self.register_builtin_py_impl(FUNC_SUM, t_sum, Immutable, vis, Some(FUNC_SUM));
|
||||||
self.register_builtin_py_impl(FUNC_ZIP, t_zip, Immutable, vis, Some(FUNC_ZIP));
|
self.register_builtin_py_impl(FUNC_ZIP, t_zip, Immutable, vis, Some(FUNC_ZIP));
|
||||||
let name = if cfg!(feature = "py_compatible") {
|
let name = if cfg!(feature = "py_compatible") {
|
||||||
|
|
|
@ -132,6 +132,17 @@ const FUNC_FORMAT: &str = "format";
|
||||||
const FUNC_LOWER: &str = "lower";
|
const FUNC_LOWER: &str = "lower";
|
||||||
const FUNC_UPPER: &str = "upper";
|
const FUNC_UPPER: &str = "upper";
|
||||||
const FUNC_TO_INT: &str = "to_int";
|
const FUNC_TO_INT: &str = "to_int";
|
||||||
|
const FUNC_STARTSWITH: &str = "startswith";
|
||||||
|
const FUNC_ENDSWITH: &str = "endswith";
|
||||||
|
const FUNC_CONTAINS: &str = "contains";
|
||||||
|
const FUNC_SPLIT: &str = "split";
|
||||||
|
const FUNC_SPLITLINES: &str = "splitlines";
|
||||||
|
const FUNC_JOIN: &str = "join";
|
||||||
|
const FUNC_FIND: &str = "find";
|
||||||
|
const FUNC_RFIND: &str = "rfind";
|
||||||
|
const FUNC_INDEX: &str = "index";
|
||||||
|
const FUNC_RINDEX: &str = "rindex";
|
||||||
|
const FUNC_COUNT: &str = "count";
|
||||||
const NONE_TYPE: &str = "NoneType";
|
const NONE_TYPE: &str = "NoneType";
|
||||||
const TYPE: &str = "Type";
|
const TYPE: &str = "Type";
|
||||||
const CLASS: &str = "Class";
|
const CLASS: &str = "Class";
|
||||||
|
@ -163,7 +174,6 @@ const PY_MODULE: &str = "PyModule";
|
||||||
const ARRAY: &str = "Array";
|
const ARRAY: &str = "Array";
|
||||||
const MUT_ARRAY: &str = "Array!";
|
const MUT_ARRAY: &str = "Array!";
|
||||||
const FUNC_CONCAT: &str = "concat";
|
const FUNC_CONCAT: &str = "concat";
|
||||||
const FUNC_COUNT: &str = "count";
|
|
||||||
const FUNC_PUSH: &str = "push";
|
const FUNC_PUSH: &str = "push";
|
||||||
const PROC_PUSH: &str = "push!";
|
const PROC_PUSH: &str = "push!";
|
||||||
const ARRAY_ITERATOR: &str = "ArrayIterator";
|
const ARRAY_ITERATOR: &str = "ArrayIterator";
|
||||||
|
@ -208,6 +218,8 @@ const PROC_REVERSE: &str = "reverse!";
|
||||||
const PROC_STRICT_MAP: &str = "strict_map!";
|
const PROC_STRICT_MAP: &str = "strict_map!";
|
||||||
const FUNC_ADD: &str = "add";
|
const FUNC_ADD: &str = "add";
|
||||||
const PROC_ADD: &str = "add!";
|
const PROC_ADD: &str = "add!";
|
||||||
|
const FUNC_INVERT: &str = "invert";
|
||||||
|
const PROC_INVERT: &str = "invert!";
|
||||||
const RANGE: &str = "Range";
|
const RANGE: &str = "Range";
|
||||||
const GENERIC_CALLABLE: &str = "GenericCallable";
|
const GENERIC_CALLABLE: &str = "GenericCallable";
|
||||||
const GENERIC_GENERATOR: &str = "GenericGenerator";
|
const GENERIC_GENERATOR: &str = "GenericGenerator";
|
||||||
|
@ -225,6 +237,7 @@ const FUNC_INT__: &str = "int__";
|
||||||
const FUNC_FLOAT: &str = "float";
|
const FUNC_FLOAT: &str = "float";
|
||||||
const FUNC_BOOL: &str = "bool";
|
const FUNC_BOOL: &str = "bool";
|
||||||
const FUNC_STR: &str = "str";
|
const FUNC_STR: &str = "str";
|
||||||
|
const FUNC_STR__: &str = "str__";
|
||||||
const FUNC_TYPE: &str = "type";
|
const FUNC_TYPE: &str = "type";
|
||||||
const CODE_TYPE: &str = "CodeType";
|
const CODE_TYPE: &str = "CodeType";
|
||||||
const MODULE_TYPE: &str = "ModuleType";
|
const MODULE_TYPE: &str = "ModuleType";
|
||||||
|
@ -377,6 +390,7 @@ const KW_FUNC: &str = "func";
|
||||||
const KW_ITERABLE: &str = "iterable";
|
const KW_ITERABLE: &str = "iterable";
|
||||||
const KW_INDEX: &str = "index";
|
const KW_INDEX: &str = "index";
|
||||||
const KW_KEY: &str = "key";
|
const KW_KEY: &str = "key";
|
||||||
|
const KW_KEEPENDS: &str = "keepends";
|
||||||
const KW_OBJECT: &str = "object";
|
const KW_OBJECT: &str = "object";
|
||||||
const KW_OBJECTS: &str = "objects";
|
const KW_OBJECTS: &str = "objects";
|
||||||
const KW_CONDITION: &str = "condition";
|
const KW_CONDITION: &str = "condition";
|
||||||
|
@ -410,6 +424,8 @@ const KW_REQUIREMENT: &str = "Requirement";
|
||||||
const KW_IMPL: &str = "Impl";
|
const KW_IMPL: &str = "Impl";
|
||||||
const KW_ADDITIONAL: &str = "Additional";
|
const KW_ADDITIONAL: &str = "Additional";
|
||||||
const KW_SUPER: &str = "Super";
|
const KW_SUPER: &str = "Super";
|
||||||
|
const KW_MAXSPLIT: &str = "maxsplit";
|
||||||
|
const KW_SUB: &str = "sub";
|
||||||
|
|
||||||
#[cfg(not(feature = "no_std"))]
|
#[cfg(not(feature = "no_std"))]
|
||||||
pub fn builtins_path() -> PathBuf {
|
pub fn builtins_path() -> PathBuf {
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
from _erg_nat import Nat
|
from _erg_nat import Nat
|
||||||
|
from _erg_nat import NatMut
|
||||||
from _erg_result import Error
|
from _erg_result import Error
|
||||||
|
|
||||||
class Bool(Nat):
|
class Bool(Nat):
|
||||||
|
@ -15,3 +16,27 @@ class Bool(Nat):
|
||||||
return "False"
|
return "False"
|
||||||
def __repr__(self) -> str:
|
def __repr__(self) -> str:
|
||||||
return self.__str__()
|
return self.__str__()
|
||||||
|
def mutate(self):
|
||||||
|
return BoolMut(self)
|
||||||
|
def invert(self):
|
||||||
|
return Bool(not self)
|
||||||
|
|
||||||
|
class BoolMut(NatMut):
|
||||||
|
value: Bool
|
||||||
|
|
||||||
|
def __init__(self, b: Bool):
|
||||||
|
self.value = b
|
||||||
|
def __repr__(self):
|
||||||
|
return self.value.__repr__()
|
||||||
|
def __eq__(self, other):
|
||||||
|
if isinstance(other, bool):
|
||||||
|
return self.value == other
|
||||||
|
else:
|
||||||
|
return self.value == other.value
|
||||||
|
def __ne__(self, other):
|
||||||
|
if isinstance(other, bool):
|
||||||
|
return self.value != other
|
||||||
|
else:
|
||||||
|
return self.value != other.value
|
||||||
|
def invert(self):
|
||||||
|
self.value = self.value.invert()
|
||||||
|
|
|
@ -19,3 +19,9 @@ def with__(obj, body):
|
||||||
|
|
||||||
def discard__(obj):
|
def discard__(obj):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
def then__(x, f):
|
||||||
|
if x == None or x == NotImplemented:
|
||||||
|
return x
|
||||||
|
else:
|
||||||
|
return f(x)
|
||||||
|
|
|
@ -1,5 +1,7 @@
|
||||||
from _erg_int import Int
|
from _erg_int import Int
|
||||||
from _erg_nat import Nat
|
from _erg_nat import Nat
|
||||||
|
from _erg_float import Float
|
||||||
|
from _erg_str import Str
|
||||||
|
|
||||||
def int__(i):
|
def int__(i):
|
||||||
try:
|
try:
|
||||||
|
@ -12,3 +14,15 @@ def nat__(i):
|
||||||
return Nat(i)
|
return Nat(i)
|
||||||
except:
|
except:
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
def float__(f):
|
||||||
|
try:
|
||||||
|
return Float(f)
|
||||||
|
except:
|
||||||
|
return None
|
||||||
|
|
||||||
|
def str__(s):
|
||||||
|
try:
|
||||||
|
return Str(s)
|
||||||
|
except:
|
||||||
|
return None
|
||||||
|
|
100
crates/erg_compiler/lib/std/_erg_float.py
Normal file
100
crates/erg_compiler/lib/std/_erg_float.py
Normal file
|
@ -0,0 +1,100 @@
|
||||||
|
from _erg_result import Error
|
||||||
|
from _erg_control import then__
|
||||||
|
|
||||||
|
class Float(float):
|
||||||
|
def try_new(i): # -> Result[Nat]
|
||||||
|
if isinstance(i, float):
|
||||||
|
Float(i)
|
||||||
|
else:
|
||||||
|
Error("not a float")
|
||||||
|
def mutate(self):
|
||||||
|
return FloatMut(self)
|
||||||
|
def __add__(self, other):
|
||||||
|
return then__(float.__add__(self, other), Float)
|
||||||
|
def __radd__(self, other):
|
||||||
|
return then__(float.__add__(other, self), Float)
|
||||||
|
def __sub__(self, other):
|
||||||
|
return then__(float.__sub__(self, other), Float)
|
||||||
|
def __rsub__(self, other):
|
||||||
|
return then__(float.__sub__(other, self), Float)
|
||||||
|
def __mul__(self, other):
|
||||||
|
return then__(float.__mul__(self, other), Float)
|
||||||
|
def __rmul__(self, other):
|
||||||
|
return then__(float.__mul__(other, self), Float)
|
||||||
|
def __div__(self, other):
|
||||||
|
return then__(float.__div__(self, other), Float)
|
||||||
|
def __rdiv__(self, other):
|
||||||
|
return then__(float.__div__(other, self), Float)
|
||||||
|
def __floordiv__(self, other):
|
||||||
|
return then__(float.__floordiv__(self, other), Float)
|
||||||
|
def __rfloordiv__(self, other):
|
||||||
|
return then__(float.__floordiv__(other, self), Float)
|
||||||
|
def __pow__(self, other):
|
||||||
|
return then__(float.__pow__(self, other), Float)
|
||||||
|
def __rpow__(self, other):
|
||||||
|
return then__(float.__pow__(other, self), Float)
|
||||||
|
|
||||||
|
class FloatMut(): # inherits Float
|
||||||
|
value: Float
|
||||||
|
|
||||||
|
def __init__(self, i):
|
||||||
|
self.value = Float(i)
|
||||||
|
def __repr__(self):
|
||||||
|
return self.value.__repr__()
|
||||||
|
def __deref__(self):
|
||||||
|
return self.value
|
||||||
|
def __eq__(self, other):
|
||||||
|
if isinstance(other, Float):
|
||||||
|
return self.value == other
|
||||||
|
else:
|
||||||
|
return self.value == other.value
|
||||||
|
def __ne__(self, other):
|
||||||
|
if isinstance(other, Float):
|
||||||
|
return self.value != other
|
||||||
|
else:
|
||||||
|
return self.value != other.value
|
||||||
|
def __le__(self, other):
|
||||||
|
if isinstance(other, Float):
|
||||||
|
return self.value <= other
|
||||||
|
else:
|
||||||
|
return self.value <= other.value
|
||||||
|
def __ge__(self, other):
|
||||||
|
if isinstance(other, Float):
|
||||||
|
return self.value >= other
|
||||||
|
else:
|
||||||
|
return self.value >= other.value
|
||||||
|
def __lt__(self, other):
|
||||||
|
if isinstance(other, Float):
|
||||||
|
return self.value < other
|
||||||
|
else:
|
||||||
|
return self.value < other.value
|
||||||
|
def __gt__(self, other):
|
||||||
|
if isinstance(other, Float):
|
||||||
|
return self.value > other
|
||||||
|
else:
|
||||||
|
return self.value > other.value
|
||||||
|
def __add__(self, other):
|
||||||
|
if isinstance(other, Float):
|
||||||
|
return FloatMut(self.value + other)
|
||||||
|
else:
|
||||||
|
return FloatMut(self.value + other.value)
|
||||||
|
def __sub__(self, other):
|
||||||
|
if isinstance(other, Float):
|
||||||
|
return FloatMut(self.value - other)
|
||||||
|
else:
|
||||||
|
return FloatMut(self.value - other.value)
|
||||||
|
def __mul__(self, other):
|
||||||
|
if isinstance(other, Float):
|
||||||
|
return FloatMut(self.value * other)
|
||||||
|
else:
|
||||||
|
return FloatMut(self.value * other.value)
|
||||||
|
def __floordiv__(self, other):
|
||||||
|
if isinstance(other, Float):
|
||||||
|
return FloatMut(self.value // other)
|
||||||
|
else:
|
||||||
|
return FloatMut(self.value // other.value)
|
||||||
|
def __pow__(self, other):
|
||||||
|
if isinstance(other, Float):
|
||||||
|
return FloatMut(self.value ** other)
|
||||||
|
else:
|
||||||
|
return FloatMut(self.value ** other.value)
|
|
@ -1,4 +1,5 @@
|
||||||
from _erg_result import Error
|
from _erg_result import Error
|
||||||
|
from _erg_control import then__
|
||||||
|
|
||||||
class Int(int):
|
class Int(int):
|
||||||
def try_new(i): # -> Result[Nat]
|
def try_new(i): # -> Result[Nat]
|
||||||
|
@ -12,6 +13,30 @@ class Int(int):
|
||||||
return Int(self - 1)
|
return Int(self - 1)
|
||||||
def mutate(self):
|
def mutate(self):
|
||||||
return IntMut(self)
|
return IntMut(self)
|
||||||
|
def __add__(self, other):
|
||||||
|
return then__(int.__add__(self, other), Int)
|
||||||
|
def __radd__(self, other):
|
||||||
|
return then__(int.__add__(other, self), Int)
|
||||||
|
def __sub__(self, other):
|
||||||
|
return then__(int.__sub__(self, other), Int)
|
||||||
|
def __rsub__(self, other):
|
||||||
|
return then__(int.__sub__(other, self), Int)
|
||||||
|
def __mul__(self, other):
|
||||||
|
return then__(int.__mul__(self, other), Int)
|
||||||
|
def __rmul__(self, other):
|
||||||
|
return then__(int.__mul__(other, self), Int)
|
||||||
|
def __div__(self, other):
|
||||||
|
return then__(int.__div__(self, other), Int)
|
||||||
|
def __rdiv__(self, other):
|
||||||
|
return then__(int.__div__(other, self), Int)
|
||||||
|
def __floordiv__(self, other):
|
||||||
|
return then__(int.__floordiv__(self, other), Int)
|
||||||
|
def __rfloordiv__(self, other):
|
||||||
|
return then__(int.__floordiv__(other, self), Int)
|
||||||
|
def __pow__(self, other):
|
||||||
|
return then__(int.__pow__(self, other), Int)
|
||||||
|
def __rpow__(self, other):
|
||||||
|
return then__(int.__pow__(other, self), Int)
|
||||||
|
|
||||||
class IntMut(): # inherits Int
|
class IntMut(): # inherits Int
|
||||||
value: Int
|
value: Int
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
from _erg_result import Error
|
from _erg_result import Error
|
||||||
from _erg_int import Int
|
from _erg_int import Int
|
||||||
from _erg_int import IntMut
|
from _erg_int import IntMut # don't unify with the above line
|
||||||
|
from _erg_control import then__
|
||||||
|
|
||||||
class Nat(Int):
|
class Nat(Int):
|
||||||
def try_new(i): # -> Result[Nat]
|
def try_new(i): # -> Result[Nat]
|
||||||
|
@ -20,6 +21,10 @@ class Nat(Int):
|
||||||
return 0
|
return 0
|
||||||
def mutate(self):
|
def mutate(self):
|
||||||
return NatMut(self)
|
return NatMut(self)
|
||||||
|
def __add__(self, other):
|
||||||
|
return then__(super().__add__(other), Nat)
|
||||||
|
def __mul__(self, other):
|
||||||
|
return then__(super().__mul__(other), Nat)
|
||||||
|
|
||||||
class NatMut(IntMut): # and Nat
|
class NatMut(IntMut): # and Nat
|
||||||
value: Nat
|
value: Nat
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
from _erg_range import Range, LeftOpenRange, RightOpenRange, OpenRange, ClosedRange, RangeIterator
|
from _erg_range import Range, LeftOpenRange, RightOpenRange, OpenRange, ClosedRange, RangeIterator
|
||||||
from _erg_result import Result, Error, is_ok
|
from _erg_result import Result, Error, is_ok
|
||||||
|
from _erg_float import Float, FloatMut
|
||||||
from _erg_int import Int, IntMut
|
from _erg_int import Int, IntMut
|
||||||
from _erg_nat import Nat, NatMut
|
from _erg_nat import Nat, NatMut
|
||||||
from _erg_bool import Bool
|
from _erg_bool import Bool
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
from _erg_result import Error
|
from _erg_result import Error
|
||||||
from _erg_int import Int
|
from _erg_int import Int
|
||||||
|
from _erg_control import then__
|
||||||
|
|
||||||
class Str(str):
|
class Str(str):
|
||||||
def __instancecheck__(cls, obj):
|
def __instancecheck__(cls, obj):
|
||||||
|
@ -18,6 +19,16 @@ class Str(str):
|
||||||
return StrMut(self)
|
return StrMut(self)
|
||||||
def to_int(self):
|
def to_int(self):
|
||||||
return Int(self) if self.isdigit() else None
|
return Int(self) if self.isdigit() else None
|
||||||
|
def contains(self, s):
|
||||||
|
return s in self
|
||||||
|
def __add__(self, other):
|
||||||
|
return then__(str.__add__(self, other), Str)
|
||||||
|
def __radd__(self, other):
|
||||||
|
return then__(str.__add__(other, self), Str)
|
||||||
|
def __mul__(self, other):
|
||||||
|
return then__(str.__mul__(self, other), Str)
|
||||||
|
def __mod__(self, other):
|
||||||
|
return then__(str.__mod__(other, self), Str)
|
||||||
|
|
||||||
class StrMut(): # Inherits Str
|
class StrMut(): # Inherits Str
|
||||||
value: Str
|
value: Str
|
||||||
|
|
|
@ -144,7 +144,7 @@ impl Runnable for Transpiler {
|
||||||
|
|
||||||
fn exec(&mut self) -> Result<i32, Self::Errs> {
|
fn exec(&mut self) -> Result<i32, Self::Errs> {
|
||||||
let mut path = self.cfg.dump_path();
|
let mut path = self.cfg.dump_path();
|
||||||
path.set_extension(".py");
|
path.set_extension("py");
|
||||||
let src = self.cfg.input.read();
|
let src = self.cfg.input.read();
|
||||||
let artifact = self.transpile(src, "exec").map_err(|eart| {
|
let artifact = self.transpile(src, "exec").map_err(|eart| {
|
||||||
eart.warns.fmt_all_stderr();
|
eart.warns.fmt_all_stderr();
|
||||||
|
@ -339,56 +339,79 @@ impl ScriptGenerator {
|
||||||
.replace("from _erg_range import Range", "")
|
.replace("from _erg_range import Range", "")
|
||||||
.replace("from _erg_result import Error", "")
|
.replace("from _erg_result import Error", "")
|
||||||
.replace("from _erg_result import is_ok", "")
|
.replace("from _erg_result import is_ok", "")
|
||||||
|
.replace("from _erg_control import then__", "")
|
||||||
}
|
}
|
||||||
|
|
||||||
fn load_namedtuple(&mut self) {
|
fn load_namedtuple_if_not(&mut self) {
|
||||||
self.prelude += "from collections import namedtuple as NamedTuple__\n";
|
if !self.namedtuple_loaded {
|
||||||
}
|
self.prelude += "from collections import namedtuple as NamedTuple__\n";
|
||||||
|
self.namedtuple_loaded = true;
|
||||||
// TODO: name escaping
|
|
||||||
fn load_range_ops(&mut self) {
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_result.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_int.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_nat.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_str.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_range.py"));
|
|
||||||
}
|
|
||||||
|
|
||||||
fn load_in_op(&mut self) {
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_result.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_range.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_in_operator.py"));
|
|
||||||
}
|
|
||||||
|
|
||||||
fn load_mutate_op(&mut self) {
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_mutate_operator.py"));
|
|
||||||
}
|
|
||||||
|
|
||||||
fn load_builtin_types(&mut self) {
|
|
||||||
if self.range_ops_loaded {
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_array.py"));
|
|
||||||
} else if self.in_op_loaded {
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_int.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_nat.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_bool.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_str.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_array.py"));
|
|
||||||
} else {
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_result.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_int.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_nat.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_bool.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_str.py"));
|
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_array.py"));
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn load_builtin_controls(&mut self) {
|
// TODO: name escaping
|
||||||
self.prelude += include_str!("lib/std/_erg_control.py");
|
fn load_range_ops_if_not(&mut self) {
|
||||||
|
if !self.range_ops_loaded {
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_result.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_int.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_nat.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_str.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_range.py"));
|
||||||
|
self.range_ops_loaded = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn load_convertors(&mut self) {
|
fn load_in_op_if_not(&mut self) {
|
||||||
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_convertors.py"));
|
if !self.in_op_loaded {
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_result.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_range.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_in_operator.py"));
|
||||||
|
self.in_op_loaded = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn load_mutate_op_if_not(&mut self) {
|
||||||
|
if !self.mutate_op_loaded {
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_mutate_operator.py"));
|
||||||
|
self.mutate_op_loaded = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn load_builtin_types_if_not(&mut self) {
|
||||||
|
if !self.builtin_types_loaded {
|
||||||
|
self.load_builtin_controls_if_not();
|
||||||
|
if self.range_ops_loaded {
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_array.py"));
|
||||||
|
} else if self.in_op_loaded {
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_int.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_nat.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_bool.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_str.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_array.py"));
|
||||||
|
} else {
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_result.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_int.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_nat.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_bool.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_str.py"));
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_array.py"));
|
||||||
|
}
|
||||||
|
self.builtin_types_loaded = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn load_builtin_controls_if_not(&mut self) {
|
||||||
|
if !self.builtin_control_loaded {
|
||||||
|
self.prelude += include_str!("lib/std/_erg_control.py");
|
||||||
|
self.builtin_control_loaded = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
fn load_convertors_if_not(&mut self) {
|
||||||
|
if !self.convertors_loaded {
|
||||||
|
self.prelude += &Self::replace_import(include_str!("lib/std/_erg_convertors.py"));
|
||||||
|
self.convertors_loaded = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
fn escape_str(s: &str) -> String {
|
fn escape_str(s: &str) -> String {
|
||||||
|
@ -489,10 +512,7 @@ impl ScriptGenerator {
|
||||||
&lit.value,
|
&lit.value,
|
||||||
ValueObj::Bool(_) | ValueObj::Int(_) | ValueObj::Nat(_) | ValueObj::Str(_)
|
ValueObj::Bool(_) | ValueObj::Int(_) | ValueObj::Nat(_) | ValueObj::Str(_)
|
||||||
) {
|
) {
|
||||||
if !self.builtin_types_loaded {
|
self.load_builtin_types_if_not();
|
||||||
self.load_builtin_types();
|
|
||||||
self.builtin_types_loaded = true;
|
|
||||||
}
|
|
||||||
format!("{}({escaped})", lit.value.class())
|
format!("{}({escaped})", lit.value.class())
|
||||||
} else {
|
} else {
|
||||||
escaped
|
escaped
|
||||||
|
@ -500,10 +520,7 @@ impl ScriptGenerator {
|
||||||
}
|
}
|
||||||
|
|
||||||
fn transpile_record(&mut self, rec: Record) -> String {
|
fn transpile_record(&mut self, rec: Record) -> String {
|
||||||
if !self.namedtuple_loaded {
|
self.load_namedtuple_if_not();
|
||||||
self.load_namedtuple();
|
|
||||||
self.namedtuple_loaded = true;
|
|
||||||
}
|
|
||||||
let mut attrs = "[".to_string();
|
let mut attrs = "[".to_string();
|
||||||
let mut values = "(".to_string();
|
let mut values = "(".to_string();
|
||||||
for mut attr in rec.attrs.into_iter() {
|
for mut attr in rec.attrs.into_iter() {
|
||||||
|
@ -528,10 +545,7 @@ impl ScriptGenerator {
|
||||||
fn transpile_binop(&mut self, bin: BinOp) -> String {
|
fn transpile_binop(&mut self, bin: BinOp) -> String {
|
||||||
match bin.op.kind {
|
match bin.op.kind {
|
||||||
TokenKind::Closed | TokenKind::LeftOpen | TokenKind::RightOpen | TokenKind::Open => {
|
TokenKind::Closed | TokenKind::LeftOpen | TokenKind::RightOpen | TokenKind::Open => {
|
||||||
if !self.range_ops_loaded {
|
self.load_range_ops_if_not();
|
||||||
self.load_range_ops();
|
|
||||||
self.range_ops_loaded = true;
|
|
||||||
}
|
|
||||||
let mut code = match bin.op.kind {
|
let mut code = match bin.op.kind {
|
||||||
TokenKind::Closed => "ClosedRange(",
|
TokenKind::Closed => "ClosedRange(",
|
||||||
TokenKind::LeftOpen => "LeftOpenRange(",
|
TokenKind::LeftOpen => "LeftOpenRange(",
|
||||||
|
@ -547,10 +561,7 @@ impl ScriptGenerator {
|
||||||
code
|
code
|
||||||
}
|
}
|
||||||
TokenKind::InOp => {
|
TokenKind::InOp => {
|
||||||
if !self.in_op_loaded {
|
self.load_in_op_if_not();
|
||||||
self.load_in_op();
|
|
||||||
self.in_op_loaded = true;
|
|
||||||
}
|
|
||||||
let mut code = "in_operator(".to_string();
|
let mut code = "in_operator(".to_string();
|
||||||
code += &self.transpile_expr(*bin.lhs);
|
code += &self.transpile_expr(*bin.lhs);
|
||||||
code.push(',');
|
code.push(',');
|
||||||
|
@ -574,10 +585,7 @@ impl ScriptGenerator {
|
||||||
fn transpile_unaryop(&mut self, unary: UnaryOp) -> String {
|
fn transpile_unaryop(&mut self, unary: UnaryOp) -> String {
|
||||||
let mut code = "".to_string();
|
let mut code = "".to_string();
|
||||||
if unary.op.kind == TokenKind::Mutate {
|
if unary.op.kind == TokenKind::Mutate {
|
||||||
if !self.mutate_op_loaded {
|
self.load_mutate_op_if_not();
|
||||||
self.load_mutate_op();
|
|
||||||
self.mutate_op_loaded = true;
|
|
||||||
}
|
|
||||||
code += "mutate_operator(";
|
code += "mutate_operator(";
|
||||||
} else {
|
} else {
|
||||||
code += "(";
|
code += "(";
|
||||||
|
@ -592,17 +600,14 @@ impl ScriptGenerator {
|
||||||
match acc {
|
match acc {
|
||||||
Accessor::Ident(ident) => {
|
Accessor::Ident(ident) => {
|
||||||
match &ident.inspect()[..] {
|
match &ident.inspect()[..] {
|
||||||
"Str" | "Bool" | "Nat" | "Array" if !self.builtin_types_loaded => {
|
"Str" | "Bool" | "Nat" | "Array" => {
|
||||||
self.load_builtin_types();
|
self.load_builtin_types_if_not();
|
||||||
self.builtin_types_loaded = true;
|
|
||||||
}
|
}
|
||||||
"if" | "if!" | "for!" | "while" | "discard" if !self.builtin_control_loaded => {
|
"if" | "if!" | "for!" | "while" | "discard" => {
|
||||||
self.load_builtin_controls();
|
self.load_builtin_controls_if_not();
|
||||||
self.builtin_control_loaded = true;
|
|
||||||
}
|
}
|
||||||
"int" | "nat" if !self.convertors_loaded => {
|
"int" | "nat" | "float" | "str" => {
|
||||||
self.load_convertors();
|
self.load_convertors_if_not();
|
||||||
self.convertors_loaded = true;
|
|
||||||
}
|
}
|
||||||
_ => {}
|
_ => {}
|
||||||
}
|
}
|
||||||
|
|
|
@ -701,14 +701,23 @@ impl ValueObj {
|
||||||
ValueObj::Type(TypeObj::Generated(gen))
|
ValueObj::Type(TypeObj::Generated(gen))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: add Complex
|
||||||
pub fn is_num(&self) -> bool {
|
pub fn is_num(&self) -> bool {
|
||||||
match self {
|
match self {
|
||||||
Self::Int(_) | Self::Nat(_) | Self::Float(_) | Self::Bool(_) => true,
|
Self::Float(_) | Self::Int(_) | Self::Nat(_) | Self::Bool(_) => true,
|
||||||
Self::Mut(n) => n.borrow().is_num(),
|
Self::Mut(n) => n.borrow().is_num(),
|
||||||
_ => false,
|
_ => false,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pub fn is_float(&self) -> bool {
|
||||||
|
match self {
|
||||||
|
Self::Float(_) | Self::Int(_) | Self::Nat(_) | Self::Bool(_) => true,
|
||||||
|
Self::Mut(n) => n.borrow().is_float(),
|
||||||
|
_ => false,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
pub fn is_int(&self) -> bool {
|
pub fn is_int(&self) -> bool {
|
||||||
match self {
|
match self {
|
||||||
Self::Int(_) | Self::Nat(_) | Self::Bool(_) => true,
|
Self::Int(_) | Self::Nat(_) | Self::Bool(_) => true,
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# 行動規範
|
# 行動規範
|
||||||
|
|
||||||
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f2118ff45d9e46ca8fa44242363223be43b046dd)
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f15b426881ebbadc72163d403c718ba486cb0d48)
|
||||||
|
|
||||||
## 全般
|
## 全般
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# 行为准则
|
# 行为准则
|
||||||
|
|
||||||
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f2118ff45d9e46ca8fa44242363223be43b046dd)
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f15b426881ebbadc72163d403c718ba486cb0d48)
|
||||||
|
|
||||||
## 常规
|
## 常规
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# 行為守則
|
# 行為守則
|
||||||
|
|
||||||
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f2118ff45d9e46ca8fa44242363223be43b046dd)
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f15b426881ebbadc72163d403c718ba486cb0d48)
|
||||||
|
|
||||||
## 常規
|
## 常規
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Erg への貢献
|
# Erg への貢献
|
||||||
|
|
||||||
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=00350f64a40b12f763a605bc16748d09379ab182)
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=cbaf48c04b46fadc680fa4e05e8ad22cbdaf6c47)
|
||||||
|
|
||||||
初心者は[こちら](https://github.com/erg-lang/erg/issues/31#issuecomment-1217505198)の説明を読んでください。
|
初心者は[こちら](https://github.com/erg-lang/erg/issues/31#issuecomment-1217505198)の説明を読んでください。
|
||||||
|
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
# 为Erg做贡献
|
# 为Erg做贡献
|
||||||
|
|
||||||
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=00350f64a40b12f763a605bc16748d09379ab182)
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=cbaf48c04b46fadc680fa4e05e8ad22cbdaf6c47)
|
||||||
|
|
||||||
初学者应阅读说明 [此处](https://github.com/erg-lang/erg/issues/31#issuecomment-1217505198)
|
初学者应阅读说明 [此处](https://github.com/erg-lang/erg/issues/31#issuecomment-1217505198)
|
||||||
|
|
||||||
## 文档
|
## 文档
|
||||||
|
|
||||||
如果您正在考虑为 Erg 做贡献,您应该阅读 `doc/*/dev_guide` 下的文档
|
如果您正在考虑为 Erg 做贡献,您应该阅读 `doc/*/dev_guide` 下的文档。特别是,请预装[`env.md`](doc/zh_CN/dev_guide/env.md)中写的内容
|
||||||
|
|
||||||
或者您对 Erg 的内部结构感兴趣,`doc/*/compiler` 可能会提供有用的信息
|
或者您对 Erg 的内部结构感兴趣,`doc/*/compiler` 可能会提供有用的信息
|
||||||
|
|
||||||
## 错误报告
|
## 错误报告
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
# 為Erg做貢獻
|
# 為Erg做貢獻
|
||||||
|
|
||||||
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=00350f64a40b12f763a605bc16748d09379ab182)
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=cbaf48c04b46fadc680fa4e05e8ad22cbdaf6c47)
|
||||||
|
|
||||||
初學者應閱讀說明 [此處](https://github.com/erg-lang/erg/issues/31#issuecomment-1217505198)
|
初學者應閱讀說明 [此處](https://github.com/erg-lang/erg/issues/31#issuecomment-1217505198)
|
||||||
|
|
||||||
## 文檔
|
## 文檔
|
||||||
|
|
||||||
如果您正在考慮為 Erg 做貢獻,您應該閱讀 `doc/*/dev_guide` 下的文檔
|
如果您正在考慮為 Erg 做貢獻,您應該閱讀 `doc/*/dev_guide` 下的文檔。特別是,請預裝[`env.md`](doc/zh_TW/dev_guide/env.md)中寫的內容
|
||||||
|
|
||||||
或者您對 Erg 的內部結構感興趣,`doc/*/compiler` 可能會提供有用的信息
|
或者您對 Erg 的內部結構感興趣,`doc/*/compiler` 可能會提供有用的信息
|
||||||
|
|
||||||
## 錯誤報告
|
## 錯誤報告
|
||||||
|
@ -29,11 +30,11 @@
|
||||||
|
|
||||||
## 開發
|
## 開發
|
||||||
|
|
||||||
請求總是受歡迎的,但請記住,它們不會總是被接受。許多問題都有取捨
|
請求總是受歡迎的,但請記住,它們不會總是被接受。許多問題都有取舍
|
||||||
|
|
||||||
不要攔截其他人已分配的問題(檢查 GitHub 上的受理人)。如果認為一個人處理起來太困難,我們會呼籲更多的支持
|
不要攔截其他人已分配的問題(檢查 GitHub 上的受理人)。如果認為一個人處理起來太困難,我們會呼籲更多的支持
|
||||||
|
|
||||||
在提出新功能之前,請考慮通過組合現有功能是否可以輕鬆解決該功能
|
在提出新功能之前,請考慮通過組合現有功能是否可以輕松解決該功能
|
||||||
|
|
||||||
請以 Erg 團隊和語言標準化的風格編寫代碼
|
請以 Erg 團隊和語言標準化的風格編寫代碼
|
||||||
|
|
||||||
|
|
|
@ -4,9 +4,9 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
|
|
||||||
| EN file name | edit icon and badge |
|
| EN file name | edit icon and badge |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [README.md](../../README.md) | [📝](../../README_JA.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=54dbd1ec22756e0f8aae5ccf0c41aeb9d34876da) |
|
| [README.md](../../README.md) | [📝](../../README_JA.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=4a5a320dfe1b9a2f91585e1a3f9dde8213edf893) |
|
||||||
| [CODE_OF_CONDUCT.md](../../CODE_OF_CONDUCT.md) | [📝](../CODE_OF_CONDUCT/CODE_OF_CONDUCT_JA.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f2118ff45d9e46ca8fa44242363223be43b046dd) |
|
| [CODE_OF_CONDUCT.md](../../CODE_OF_CONDUCT.md) | [📝](../CODE_OF_CONDUCT/CODE_OF_CONDUCT_JA.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f15b426881ebbadc72163d403c718ba486cb0d48) |
|
||||||
| [CONTRIBUTING.md](../../CONTRIBUTING.md) | [📝](../CONTRIBUTING/CONTRIBUTING_JA.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=00350f64a40b12f763a605bc16748d09379ab182) |
|
| [CONTRIBUTING.md](../../CONTRIBUTING.md) | [📝](../CONTRIBUTING/CONTRIBUTING_JA.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=cbaf48c04b46fadc680fa4e05e8ad22cbdaf6c47) |
|
||||||
| [faq_general.md](../EN/faq_general.md) | [📝](../JA/faq_general.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_general.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
| [faq_general.md](../EN/faq_general.md) | [📝](../JA/faq_general.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_general.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
||||||
| [faq_syntax.md](../EN/faq_syntax.md) | [📝](../JA/faq_syntax.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_syntax.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
| [faq_syntax.md](../EN/faq_syntax.md) | [📝](../JA/faq_syntax.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_syntax.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
||||||
| [faq_technical.md](../EN/faq_technical.md) | [📝](../JA/faq_technical.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_technical.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
| [faq_technical.md](../EN/faq_technical.md) | [📝](../JA/faq_technical.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_technical.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
||||||
|
@ -78,6 +78,7 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
| [API/types/traits/Seq.md](../EN/API/types/traits/Seq.md) | [📝](../JA/API/types/traits/Seq.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Seq.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [API/types/traits/Seq.md](../EN/API/types/traits/Seq.md) | [📝](../JA/API/types/traits/Seq.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Seq.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [API/types/traits/Show.md](../EN/API/types/traits/Show.md) | [📝](../JA/API/types/traits/Show.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Show.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [API/types/traits/Show.md](../EN/API/types/traits/Show.md) | [📝](../JA/API/types/traits/Show.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Show.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [API/types/traits/Unpack.md](../EN/API/types/traits/Unpack.md) | [📝](../JA/API/types/traits/Unpack.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Unpack.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
| [API/types/traits/Unpack.md](../EN/API/types/traits/Unpack.md) | [📝](../JA/API/types/traits/Unpack.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Unpack.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
||||||
|
| [compiler/README.md](../EN/compiler/README.md) | [📝](../JA/compiler/README.md) Badge not found |
|
||||||
| [compiler/TODO_hint.md](../EN/compiler/TODO_hint.md) | [📝](../JA/compiler/TODO_hint.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_hint.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/TODO_hint.md](../EN/compiler/TODO_hint.md) | [📝](../JA/compiler/TODO_hint.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_hint.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [compiler/TODO_recov_suggest.md](../EN/compiler/TODO_recov_suggest.md) | [📝](../JA/compiler/TODO_recov_suggest.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_recov_suggest.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/TODO_recov_suggest.md](../EN/compiler/TODO_recov_suggest.md) | [📝](../JA/compiler/TODO_recov_suggest.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_recov_suggest.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [compiler/TODO_warn.md](../EN/compiler/TODO_warn.md) | [📝](../JA/compiler/TODO_warn.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_warn.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/TODO_warn.md](../EN/compiler/TODO_warn.md) | [📝](../JA/compiler/TODO_warn.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_warn.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
|
@ -93,6 +94,9 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
| [compiler/trait_method_resolving.md](../EN/compiler/trait_method_resolving.md) | [📝](../JA/compiler/trait_method_resolving.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/trait_method_resolving.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
| [compiler/trait_method_resolving.md](../EN/compiler/trait_method_resolving.md) | [📝](../JA/compiler/trait_method_resolving.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/trait_method_resolving.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
||||||
| [compiler/transpile.md](../EN/compiler/transpile.md) | [📝](../JA/compiler/transpile.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/transpile.md&commit_hash=89699eb2d6bbf7cc836c365dbd430d817d50b86a) |
|
| [compiler/transpile.md](../EN/compiler/transpile.md) | [📝](../JA/compiler/transpile.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/transpile.md&commit_hash=89699eb2d6bbf7cc836c365dbd430d817d50b86a) |
|
||||||
| [compiler/type_var_normalization.md](../EN/compiler/type_var_normalization.md) | [📝](../JA/compiler/type_var_normalization.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/type_var_normalization.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/type_var_normalization.md](../EN/compiler/type_var_normalization.md) | [📝](../JA/compiler/type_var_normalization.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/type_var_normalization.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
|
| [dev_guide/README.md](../EN/dev_guide/README.md) | [📝](../JA/dev_guide/README.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/README.md&commit_hash=64fec7d91494cbb22f89147863db2a8ee81954db) |
|
||||||
|
| [dev_guide/SUMMARY.md](../EN/dev_guide/SUMMARY.md) | [📝](../JA/dev_guide/SUMMARY.md) Badge not found |
|
||||||
|
| [dev_guide/about.md](../EN/dev_guide/about.md) | [📝](../JA/dev_guide/about.md) Badge not found |
|
||||||
| [dev_guide/branches.md](../EN/dev_guide/branches.md) | [📝](../JA/dev_guide/branches.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/branches.md&commit_hash=bf5df01d09e42ec8433a628420e096ac55e4d3e4) |
|
| [dev_guide/branches.md](../EN/dev_guide/branches.md) | [📝](../JA/dev_guide/branches.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/branches.md&commit_hash=bf5df01d09e42ec8433a628420e096ac55e4d3e4) |
|
||||||
| [dev_guide/build_features.md](../EN/dev_guide/build_features.md) | [📝](../JA/dev_guide/build_features.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/build_features.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
| [dev_guide/build_features.md](../EN/dev_guide/build_features.md) | [📝](../JA/dev_guide/build_features.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/build_features.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
||||||
| [dev_guide/directories.md](../EN/dev_guide/directories.md) | [📝](../JA/dev_guide/directories.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/directories.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
| [dev_guide/directories.md](../EN/dev_guide/directories.md) | [📝](../JA/dev_guide/directories.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/directories.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
||||||
|
@ -100,7 +104,6 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
| [dev_guide/embedding.md](../EN/dev_guide/embedding.md) | [📝](../JA/dev_guide/embedding.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/embedding.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
| [dev_guide/embedding.md](../EN/dev_guide/embedding.md) | [📝](../JA/dev_guide/embedding.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/embedding.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
||||||
| [dev_guide/env.md](../EN/dev_guide/env.md) | [📝](../JA/dev_guide/env.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/env.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
| [dev_guide/env.md](../EN/dev_guide/env.md) | [📝](../JA/dev_guide/env.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/env.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
||||||
| [dev_guide/i18n_messages.md](../EN/dev_guide/i18n_messages.md) | [📝](../JA/dev_guide/i18n_messages.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/i18n_messages.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [dev_guide/i18n_messages.md](../EN/dev_guide/i18n_messages.md) | [📝](../JA/dev_guide/i18n_messages.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/i18n_messages.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [dev_guide/index.md](../EN/dev_guide/index.md) | [📝](../JA/dev_guide/index.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/index.md&commit_hash=64fec7d91494cbb22f89147863db2a8ee81954db) |
|
|
||||||
| [dev_guide/rust_code_guideline.md](../EN/dev_guide/rust_code_guideline.md) | [📝](../JA/dev_guide/rust_code_guideline.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/rust_code_guideline.md&commit_hash=c1f43472c254e4c22f936b0f9157fc2ee3189697) |
|
| [dev_guide/rust_code_guideline.md](../EN/dev_guide/rust_code_guideline.md) | [📝](../JA/dev_guide/rust_code_guideline.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/rust_code_guideline.md&commit_hash=c1f43472c254e4c22f936b0f9157fc2ee3189697) |
|
||||||
| [dev_guide/test.md](../EN/dev_guide/test.md) | [📝](../JA/dev_guide/test.md) Badge not found |
|
| [dev_guide/test.md](../EN/dev_guide/test.md) | [📝](../JA/dev_guide/test.md) Badge not found |
|
||||||
| [dev_guide/troubleshooting.md](../EN/dev_guide/troubleshooting.md) | [📝](../JA/dev_guide/troubleshooting.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/troubleshooting.md&commit_hash=b57b46405734013fee2925f43d4a46ad8898267d) |
|
| [dev_guide/troubleshooting.md](../EN/dev_guide/troubleshooting.md) | [📝](../JA/dev_guide/troubleshooting.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/troubleshooting.md&commit_hash=b57b46405734013fee2925f43d4a46ad8898267d) |
|
||||||
|
@ -109,7 +112,7 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
| [python/bytecode_specification.md](../EN/python/bytecode_specification.md) | [📝](../JA/python/bytecode_specification.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/bytecode_specification.md&commit_hash=9f6a4a43fcf7e4f58cabe6e5a7546820fd9f5ff4) |
|
| [python/bytecode_specification.md](../EN/python/bytecode_specification.md) | [📝](../JA/python/bytecode_specification.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/bytecode_specification.md&commit_hash=9f6a4a43fcf7e4f58cabe6e5a7546820fd9f5ff4) |
|
||||||
| [python/class_system.md](../EN/python/class_system.md) | [📝](../JA/python/class_system.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/class_system.md&commit_hash=2ecd249a2a99dc93dde2660b8d50bfa4fa0b03b9) |
|
| [python/class_system.md](../EN/python/class_system.md) | [📝](../JA/python/class_system.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/class_system.md&commit_hash=2ecd249a2a99dc93dde2660b8d50bfa4fa0b03b9) |
|
||||||
| [python/index.md](../EN/python/index.md) | [📝](../JA/python/index.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/index.md&commit_hash=64fec7d91494cbb22f89147863db2a8ee81954db) |
|
| [python/index.md](../EN/python/index.md) | [📝](../JA/python/index.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/index.md&commit_hash=64fec7d91494cbb22f89147863db2a8ee81954db) |
|
||||||
| [syntax/00_basic.md](../EN/syntax/00_basic.md) | [📝](../JA/syntax/00_basic.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/00_basic.md&commit_hash=764A0E8981db429504b2427a6806887fa937ed2d) |
|
| [syntax/00_basic.md](../EN/syntax/00_basic.md) | [📝](../JA/syntax/00_basic.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/00_basic.md&commit_hash=8f874b3251e0f85832a1c0fd80fffd408844e8a1) |
|
||||||
| [syntax/01_literal.md](../EN/syntax/01_literal.md) | [📝](../JA/syntax/01_literal.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/01_literal.md&commit_hash=2284988386db7516d7f2d0cb25b27bd8397dd69e) |
|
| [syntax/01_literal.md](../EN/syntax/01_literal.md) | [📝](../JA/syntax/01_literal.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/01_literal.md&commit_hash=2284988386db7516d7f2d0cb25b27bd8397dd69e) |
|
||||||
| [syntax/02_name.md](../EN/syntax/02_name.md) | [📝](../JA/syntax/02_name.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/02_name.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
| [syntax/02_name.md](../EN/syntax/02_name.md) | [📝](../JA/syntax/02_name.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/02_name.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
||||||
| [syntax/03_declaration.md](../EN/syntax/03_declaration.md) | [📝](../JA/syntax/03_declaration.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/03_declaration.md&commit_hash=20aa4f02b994343ab9600317cebafa2b20676467) |
|
| [syntax/03_declaration.md](../EN/syntax/03_declaration.md) | [📝](../JA/syntax/03_declaration.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/03_declaration.md&commit_hash=20aa4f02b994343ab9600317cebafa2b20676467) |
|
||||||
|
|
|
@ -4,9 +4,9 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
|
|
||||||
| EN file name | edit icon and badge |
|
| EN file name | edit icon and badge |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [README.md](../../README.md) | [📝](../../README_zh-CN.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=dc7feca6ad1533e791b5fc1fd036636860f03d07) |
|
| [README.md](../../README.md) | [📝](../../README_zh-CN.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=4a5a320dfe1b9a2f91585e1a3f9dde8213edf893) |
|
||||||
| [CODE_OF_CONDUCT.md](../../CODE_OF_CONDUCT.md) | [📝](../CODE_OF_CONDUCT/CODE_OF_CONDUCT_zh-CN.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f2118ff45d9e46ca8fa44242363223be43b046dd) |
|
| [CODE_OF_CONDUCT.md](../../CODE_OF_CONDUCT.md) | [📝](../CODE_OF_CONDUCT/CODE_OF_CONDUCT_zh-CN.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f15b426881ebbadc72163d403c718ba486cb0d48) |
|
||||||
| [CONTRIBUTING.md](../../CONTRIBUTING.md) | [📝](../CONTRIBUTING/CONTRIBUTING_zh-CN.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=00350f64a40b12f763a605bc16748d09379ab182) |
|
| [CONTRIBUTING.md](../../CONTRIBUTING.md) | [📝](../CONTRIBUTING/CONTRIBUTING_zh-CN.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=cbaf48c04b46fadc680fa4e05e8ad22cbdaf6c47) |
|
||||||
| [faq_general.md](../EN/faq_general.md) | [📝](../zh_CN/faq_general.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_general.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
| [faq_general.md](../EN/faq_general.md) | [📝](../zh_CN/faq_general.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_general.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
||||||
| [faq_syntax.md](../EN/faq_syntax.md) | [📝](../zh_CN/faq_syntax.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_syntax.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
| [faq_syntax.md](../EN/faq_syntax.md) | [📝](../zh_CN/faq_syntax.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_syntax.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
||||||
| [faq_technical.md](../EN/faq_technical.md) | [📝](../zh_CN/faq_technical.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_technical.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
| [faq_technical.md](../EN/faq_technical.md) | [📝](../zh_CN/faq_technical.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_technical.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
||||||
|
@ -78,6 +78,7 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
| [API/types/traits/Seq.md](../EN/API/types/traits/Seq.md) | [📝](../zh_CN/API/types/traits/Seq.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Seq.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [API/types/traits/Seq.md](../EN/API/types/traits/Seq.md) | [📝](../zh_CN/API/types/traits/Seq.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Seq.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [API/types/traits/Show.md](../EN/API/types/traits/Show.md) | [📝](../zh_CN/API/types/traits/Show.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Show.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [API/types/traits/Show.md](../EN/API/types/traits/Show.md) | [📝](../zh_CN/API/types/traits/Show.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Show.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [API/types/traits/Unpack.md](../EN/API/types/traits/Unpack.md) | [📝](../zh_CN/API/types/traits/Unpack.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Unpack.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
| [API/types/traits/Unpack.md](../EN/API/types/traits/Unpack.md) | [📝](../zh_CN/API/types/traits/Unpack.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Unpack.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
||||||
|
| [compiler/README.md](../EN/compiler/README.md) | [📝](../zh_CN/compiler/README.md) Badge not found |
|
||||||
| [compiler/TODO_hint.md](../EN/compiler/TODO_hint.md) | [📝](../zh_CN/compiler/TODO_hint.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_hint.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/TODO_hint.md](../EN/compiler/TODO_hint.md) | [📝](../zh_CN/compiler/TODO_hint.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_hint.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [compiler/TODO_recov_suggest.md](../EN/compiler/TODO_recov_suggest.md) | [📝](../zh_CN/compiler/TODO_recov_suggest.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_recov_suggest.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/TODO_recov_suggest.md](../EN/compiler/TODO_recov_suggest.md) | [📝](../zh_CN/compiler/TODO_recov_suggest.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_recov_suggest.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [compiler/TODO_warn.md](../EN/compiler/TODO_warn.md) | [📝](../zh_CN/compiler/TODO_warn.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_warn.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/TODO_warn.md](../EN/compiler/TODO_warn.md) | [📝](../zh_CN/compiler/TODO_warn.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_warn.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
|
@ -93,14 +94,16 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
| [compiler/trait_method_resolving.md](../EN/compiler/trait_method_resolving.md) | [📝](../zh_CN/compiler/trait_method_resolving.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/trait_method_resolving.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
| [compiler/trait_method_resolving.md](../EN/compiler/trait_method_resolving.md) | [📝](../zh_CN/compiler/trait_method_resolving.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/trait_method_resolving.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
||||||
| [compiler/transpile.md](../EN/compiler/transpile.md) | [📝](../zh_CN/compiler/transpile.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/transpile.md&commit_hash=13f2d31aee9012f60b7a40d4b764921f1419cdfe) |
|
| [compiler/transpile.md](../EN/compiler/transpile.md) | [📝](../zh_CN/compiler/transpile.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/transpile.md&commit_hash=13f2d31aee9012f60b7a40d4b764921f1419cdfe) |
|
||||||
| [compiler/type_var_normalization.md](../EN/compiler/type_var_normalization.md) | [📝](../zh_CN/compiler/type_var_normalization.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/type_var_normalization.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/type_var_normalization.md](../EN/compiler/type_var_normalization.md) | [📝](../zh_CN/compiler/type_var_normalization.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/type_var_normalization.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
|
| [dev_guide/README.md](../EN/dev_guide/README.md) | [📝](../zh_CN/dev_guide/README.md) Badge not found |
|
||||||
|
| [dev_guide/SUMMARY.md](../EN/dev_guide/SUMMARY.md) | [📝](../zh_CN/dev_guide/SUMMARY.md) Badge not found |
|
||||||
|
| [dev_guide/about.md](../EN/dev_guide/about.md) | [📝](../zh_CN/dev_guide/about.md) Badge not found |
|
||||||
| [dev_guide/branches.md](../EN/dev_guide/branches.md) | [📝](../zh_CN/dev_guide/branches.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/branches.md&commit_hash=bf5df01d09e42ec8433a628420e096ac55e4d3e4) |
|
| [dev_guide/branches.md](../EN/dev_guide/branches.md) | [📝](../zh_CN/dev_guide/branches.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/branches.md&commit_hash=bf5df01d09e42ec8433a628420e096ac55e4d3e4) |
|
||||||
| [dev_guide/build_features.md](../EN/dev_guide/build_features.md) | [📝](../zh_CN/dev_guide/build_features.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/build_features.md&commit_hash=a4ba6814016f66c32579c53836b10f4abbca8a51) |
|
| [dev_guide/build_features.md](../EN/dev_guide/build_features.md) | [📝](../zh_CN/dev_guide/build_features.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/build_features.md&commit_hash=cbaf48c04b46fadc680fa4e05e8ad22cbdaf6c47) |
|
||||||
| [dev_guide/directories.md](../EN/dev_guide/directories.md) | [📝](../zh_CN/dev_guide/directories.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/directories.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
| [dev_guide/directories.md](../EN/dev_guide/directories.md) | [📝](../zh_CN/dev_guide/directories.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/directories.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
||||||
| [dev_guide/doc_guideline.md](../EN/dev_guide/doc_guideline.md) | [📝](../zh_CN/dev_guide/doc_guideline.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/doc_guideline.md&commit_hash=a9d45b743cc655543e0d7f586426499091cead3d) |
|
| [dev_guide/doc_guideline.md](../EN/dev_guide/doc_guideline.md) | [📝](../zh_CN/dev_guide/doc_guideline.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/doc_guideline.md&commit_hash=a9d45b743cc655543e0d7f586426499091cead3d) |
|
||||||
| [dev_guide/embedding.md](../EN/dev_guide/embedding.md) | [📝](../zh_CN/dev_guide/embedding.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/embedding.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
| [dev_guide/embedding.md](../EN/dev_guide/embedding.md) | [📝](../zh_CN/dev_guide/embedding.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/embedding.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
||||||
| [dev_guide/env.md](../EN/dev_guide/env.md) | [📝](../zh_CN/dev_guide/env.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/env.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
| [dev_guide/env.md](../EN/dev_guide/env.md) | [📝](../zh_CN/dev_guide/env.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/env.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
||||||
| [dev_guide/i18n_messages.md](../EN/dev_guide/i18n_messages.md) | [📝](../zh_CN/dev_guide/i18n_messages.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/i18n_messages.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [dev_guide/i18n_messages.md](../EN/dev_guide/i18n_messages.md) | [📝](../zh_CN/dev_guide/i18n_messages.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/i18n_messages.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [dev_guide/index.md](../EN/dev_guide/index.md) | [📝](../zh_CN/dev_guide/index.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/index.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
|
||||||
| [dev_guide/rust_code_guideline.md](../EN/dev_guide/rust_code_guideline.md) | [📝](../zh_CN/dev_guide/rust_code_guideline.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/rust_code_guideline.md&commit_hash=c1f43472c254e4c22f936b0f9157fc2ee3189697) |
|
| [dev_guide/rust_code_guideline.md](../EN/dev_guide/rust_code_guideline.md) | [📝](../zh_CN/dev_guide/rust_code_guideline.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/rust_code_guideline.md&commit_hash=c1f43472c254e4c22f936b0f9157fc2ee3189697) |
|
||||||
| [dev_guide/test.md](../EN/dev_guide/test.md) | [📝](../zh_CN/dev_guide/test.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/test.md&commit_hash=3e4251b9f9929891dd8ce422c1ed6853f77ab432) |
|
| [dev_guide/test.md](../EN/dev_guide/test.md) | [📝](../zh_CN/dev_guide/test.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/test.md&commit_hash=3e4251b9f9929891dd8ce422c1ed6853f77ab432) |
|
||||||
| [dev_guide/troubleshooting.md](../EN/dev_guide/troubleshooting.md) | [📝](../zh_CN/dev_guide/troubleshooting.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/troubleshooting.md&commit_hash=b57b46405734013fee2925f43d4a46ad8898267d) |
|
| [dev_guide/troubleshooting.md](../EN/dev_guide/troubleshooting.md) | [📝](../zh_CN/dev_guide/troubleshooting.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/troubleshooting.md&commit_hash=b57b46405734013fee2925f43d4a46ad8898267d) |
|
||||||
|
@ -109,7 +112,7 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
| [python/bytecode_specification.md](../EN/python/bytecode_specification.md) | [📝](../zh_CN/python/bytecode_specification.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/bytecode_specification.md&commit_hash=9f6a4a43fcf7e4f58cabe6e5a7546820fd9f5ff4) |
|
| [python/bytecode_specification.md](../EN/python/bytecode_specification.md) | [📝](../zh_CN/python/bytecode_specification.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/bytecode_specification.md&commit_hash=9f6a4a43fcf7e4f58cabe6e5a7546820fd9f5ff4) |
|
||||||
| [python/class_system.md](../EN/python/class_system.md) | [📝](../zh_CN/python/class_system.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/class_system.md&commit_hash=2ecd249a2a99dc93dde2660b8d50bfa4fa0b03b9) |
|
| [python/class_system.md](../EN/python/class_system.md) | [📝](../zh_CN/python/class_system.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/class_system.md&commit_hash=2ecd249a2a99dc93dde2660b8d50bfa4fa0b03b9) |
|
||||||
| [python/index.md](../EN/python/index.md) | [📝](../zh_CN/python/index.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/index.md&commit_hash=64fec7d91494cbb22f89147863db2a8ee81954db) |
|
| [python/index.md](../EN/python/index.md) | [📝](../zh_CN/python/index.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/index.md&commit_hash=64fec7d91494cbb22f89147863db2a8ee81954db) |
|
||||||
| [syntax/00_basic.md](../EN/syntax/00_basic.md) | [📝](../zh_CN/syntax/00_basic.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/00_basic.md&commit_hash=764a0e8981db429504b2427a6806887fa937ed2d) |
|
| [syntax/00_basic.md](../EN/syntax/00_basic.md) | [📝](../zh_CN/syntax/00_basic.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/00_basic.md&commit_hash=8f874b3251e0f85832a1c0fd80fffd408844e8a1) |
|
||||||
| [syntax/01_literal.md](../EN/syntax/01_literal.md) | [📝](../zh_CN/syntax/01_literal.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/01_literal.md&commit_hash=2284988386db7516d7f2d0cb25b27bd8397dd69e) |
|
| [syntax/01_literal.md](../EN/syntax/01_literal.md) | [📝](../zh_CN/syntax/01_literal.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/01_literal.md&commit_hash=2284988386db7516d7f2d0cb25b27bd8397dd69e) |
|
||||||
| [syntax/02_name.md](../EN/syntax/02_name.md) | [📝](../zh_CN/syntax/02_name.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/02_name.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
| [syntax/02_name.md](../EN/syntax/02_name.md) | [📝](../zh_CN/syntax/02_name.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/02_name.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
||||||
| [syntax/03_declaration.md](../EN/syntax/03_declaration.md) | [📝](../zh_CN/syntax/03_declaration.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/03_declaration.md&commit_hash=20aa4f02b994343ab9600317cebafa2b20676467) |
|
| [syntax/03_declaration.md](../EN/syntax/03_declaration.md) | [📝](../zh_CN/syntax/03_declaration.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/03_declaration.md&commit_hash=20aa4f02b994343ab9600317cebafa2b20676467) |
|
||||||
|
|
|
@ -4,9 +4,9 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
|
|
||||||
| EN file name | edit icon and badge |
|
| EN file name | edit icon and badge |
|
||||||
| --- | --- |
|
| --- | --- |
|
||||||
| [README.md](../../README.md) | [📝](../../README_zh-TW.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=dc7feca6ad1533e791b5fc1fd036636860f03d07) |
|
| [README.md](../../README.md) | [📝](../../README_zh-TW.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=README.md&commit_hash=4a5a320dfe1b9a2f91585e1a3f9dde8213edf893) |
|
||||||
| [CODE_OF_CONDUCT.md](../../CODE_OF_CONDUCT.md) | [📝](../CODE_OF_CONDUCT/CODE_OF_CONDUCT_zh-TW.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f2118ff45d9e46ca8fa44242363223be43b046dd) |
|
| [CODE_OF_CONDUCT.md](../../CODE_OF_CONDUCT.md) | [📝](../CODE_OF_CONDUCT/CODE_OF_CONDUCT_zh-TW.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CODE_OF_CONDUCT.md&commit_hash=f15b426881ebbadc72163d403c718ba486cb0d48) |
|
||||||
| [CONTRIBUTING.md](../../CONTRIBUTING.md) | [📝](../CONTRIBUTING/CONTRIBUTING_zh-TW.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=00350f64a40b12f763a605bc16748d09379ab182) |
|
| [CONTRIBUTING.md](../../CONTRIBUTING.md) | [📝](../CONTRIBUTING/CONTRIBUTING_zh-TW.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=CONTRIBUTING.md&commit_hash=cbaf48c04b46fadc680fa4e05e8ad22cbdaf6c47) |
|
||||||
| [faq_general.md](../EN/faq_general.md) | [📝](../zh_TW/faq_general.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_general.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
| [faq_general.md](../EN/faq_general.md) | [📝](../zh_TW/faq_general.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_general.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
||||||
| [faq_syntax.md](../EN/faq_syntax.md) | [📝](../zh_TW/faq_syntax.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_syntax.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
| [faq_syntax.md](../EN/faq_syntax.md) | [📝](../zh_TW/faq_syntax.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_syntax.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
||||||
| [faq_technical.md](../EN/faq_technical.md) | [📝](../zh_TW/faq_technical.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_technical.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
| [faq_technical.md](../EN/faq_technical.md) | [📝](../zh_TW/faq_technical.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/faq_technical.md&commit_hash=1b3d7827bb770459475e4102c6f5c43d8ad79ae4) |
|
||||||
|
@ -78,6 +78,7 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
| [API/types/traits/Seq.md](../EN/API/types/traits/Seq.md) | [📝](../zh_TW/API/types/traits/Seq.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Seq.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [API/types/traits/Seq.md](../EN/API/types/traits/Seq.md) | [📝](../zh_TW/API/types/traits/Seq.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Seq.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [API/types/traits/Show.md](../EN/API/types/traits/Show.md) | [📝](../zh_TW/API/types/traits/Show.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Show.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [API/types/traits/Show.md](../EN/API/types/traits/Show.md) | [📝](../zh_TW/API/types/traits/Show.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Show.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [API/types/traits/Unpack.md](../EN/API/types/traits/Unpack.md) | [📝](../zh_TW/API/types/traits/Unpack.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Unpack.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
| [API/types/traits/Unpack.md](../EN/API/types/traits/Unpack.md) | [📝](../zh_TW/API/types/traits/Unpack.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/API/types/traits/Unpack.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
||||||
|
| [compiler/README.md](../EN/compiler/README.md) | [📝](../zh_TW/compiler/README.md) Badge not found |
|
||||||
| [compiler/TODO_hint.md](../EN/compiler/TODO_hint.md) | [📝](../zh_TW/compiler/TODO_hint.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_hint.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/TODO_hint.md](../EN/compiler/TODO_hint.md) | [📝](../zh_TW/compiler/TODO_hint.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_hint.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [compiler/TODO_recov_suggest.md](../EN/compiler/TODO_recov_suggest.md) | [📝](../zh_TW/compiler/TODO_recov_suggest.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_recov_suggest.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/TODO_recov_suggest.md](../EN/compiler/TODO_recov_suggest.md) | [📝](../zh_TW/compiler/TODO_recov_suggest.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_recov_suggest.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [compiler/TODO_warn.md](../EN/compiler/TODO_warn.md) | [📝](../zh_TW/compiler/TODO_warn.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_warn.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/TODO_warn.md](../EN/compiler/TODO_warn.md) | [📝](../zh_TW/compiler/TODO_warn.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/TODO_warn.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
|
@ -93,14 +94,16 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
| [compiler/trait_method_resolving.md](../EN/compiler/trait_method_resolving.md) | [📝](../zh_TW/compiler/trait_method_resolving.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/trait_method_resolving.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
| [compiler/trait_method_resolving.md](../EN/compiler/trait_method_resolving.md) | [📝](../zh_TW/compiler/trait_method_resolving.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/trait_method_resolving.md&commit_hash=06f8edc9e2c0cee34f6396fd7c64ec834ffb5352) |
|
||||||
| [compiler/transpile.md](../EN/compiler/transpile.md) | [📝](../zh_TW/compiler/transpile.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/transpile.md&commit_hash=13f2d31aee9012f60b7a40d4b764921f1419cdfe) |
|
| [compiler/transpile.md](../EN/compiler/transpile.md) | [📝](../zh_TW/compiler/transpile.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/transpile.md&commit_hash=13f2d31aee9012f60b7a40d4b764921f1419cdfe) |
|
||||||
| [compiler/type_var_normalization.md](../EN/compiler/type_var_normalization.md) | [📝](../zh_TW/compiler/type_var_normalization.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/type_var_normalization.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [compiler/type_var_normalization.md](../EN/compiler/type_var_normalization.md) | [📝](../zh_TW/compiler/type_var_normalization.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/compiler/type_var_normalization.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
|
| [dev_guide/README.md](../EN/dev_guide/README.md) | [📝](../zh_TW/dev_guide/README.md) Badge not found |
|
||||||
|
| [dev_guide/SUMMARY.md](../EN/dev_guide/SUMMARY.md) | [📝](../zh_TW/dev_guide/SUMMARY.md) Badge not found |
|
||||||
|
| [dev_guide/about.md](../EN/dev_guide/about.md) | [📝](../zh_TW/dev_guide/about.md) Badge not found |
|
||||||
| [dev_guide/branches.md](../EN/dev_guide/branches.md) | [📝](../zh_TW/dev_guide/branches.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/branches.md&commit_hash=bf5df01d09e42ec8433a628420e096ac55e4d3e4) |
|
| [dev_guide/branches.md](../EN/dev_guide/branches.md) | [📝](../zh_TW/dev_guide/branches.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/branches.md&commit_hash=bf5df01d09e42ec8433a628420e096ac55e4d3e4) |
|
||||||
| [dev_guide/build_features.md](../EN/dev_guide/build_features.md) | [📝](../zh_TW/dev_guide/build_features.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/build_features.md&commit_hash=a4ba6814016f66c32579c53836b10f4abbca8a51) |
|
| [dev_guide/build_features.md](../EN/dev_guide/build_features.md) | [📝](../zh_TW/dev_guide/build_features.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/build_features.md&commit_hash=cbaf48c04b46fadc680fa4e05e8ad22cbdaf6c47) |
|
||||||
| [dev_guide/directories.md](../EN/dev_guide/directories.md) | [📝](../zh_TW/dev_guide/directories.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/directories.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
| [dev_guide/directories.md](../EN/dev_guide/directories.md) | [📝](../zh_TW/dev_guide/directories.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/directories.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
||||||
| [dev_guide/doc_guideline.md](../EN/dev_guide/doc_guideline.md) | [📝](../zh_TW/dev_guide/doc_guideline.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/doc_guideline.md&commit_hash=a9d45b743cc655543e0d7f586426499091cead3d) |
|
| [dev_guide/doc_guideline.md](../EN/dev_guide/doc_guideline.md) | [📝](../zh_TW/dev_guide/doc_guideline.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/doc_guideline.md&commit_hash=a9d45b743cc655543e0d7f586426499091cead3d) |
|
||||||
| [dev_guide/embedding.md](../EN/dev_guide/embedding.md) | [📝](../zh_TW/dev_guide/embedding.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/embedding.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
| [dev_guide/embedding.md](../EN/dev_guide/embedding.md) | [📝](../zh_TW/dev_guide/embedding.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/embedding.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
||||||
| [dev_guide/env.md](../EN/dev_guide/env.md) | [📝](../zh_TW/dev_guide/env.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/env.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
| [dev_guide/env.md](../EN/dev_guide/env.md) | [📝](../zh_TW/dev_guide/env.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/env.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
||||||
| [dev_guide/i18n_messages.md](../EN/dev_guide/i18n_messages.md) | [📝](../zh_TW/dev_guide/i18n_messages.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/i18n_messages.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
| [dev_guide/i18n_messages.md](../EN/dev_guide/i18n_messages.md) | [📝](../zh_TW/dev_guide/i18n_messages.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/i18n_messages.md&commit_hash=d15cbbf7b33df0f78a575cff9679d84c36ea3ab1) |
|
||||||
| [dev_guide/index.md](../EN/dev_guide/index.md) | [📝](../zh_TW/dev_guide/index.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/index.md&commit_hash=94185d534afe909d112381b53d60895389d02f95) |
|
|
||||||
| [dev_guide/rust_code_guideline.md](../EN/dev_guide/rust_code_guideline.md) | [📝](../zh_TW/dev_guide/rust_code_guideline.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/rust_code_guideline.md&commit_hash=c1f43472c254e4c22f936b0f9157fc2ee3189697) |
|
| [dev_guide/rust_code_guideline.md](../EN/dev_guide/rust_code_guideline.md) | [📝](../zh_TW/dev_guide/rust_code_guideline.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/rust_code_guideline.md&commit_hash=c1f43472c254e4c22f936b0f9157fc2ee3189697) |
|
||||||
| [dev_guide/test.md](../EN/dev_guide/test.md) | [📝](../zh_TW/dev_guide/test.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/test.md&commit_hash=3e4251b9f9929891dd8ce422c1ed6853f77ab432) |
|
| [dev_guide/test.md](../EN/dev_guide/test.md) | [📝](../zh_TW/dev_guide/test.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/test.md&commit_hash=3e4251b9f9929891dd8ce422c1ed6853f77ab432) |
|
||||||
| [dev_guide/troubleshooting.md](../EN/dev_guide/troubleshooting.md) | [📝](../zh_TW/dev_guide/troubleshooting.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/troubleshooting.md&commit_hash=b57b46405734013fee2925f43d4a46ad8898267d) |
|
| [dev_guide/troubleshooting.md](../EN/dev_guide/troubleshooting.md) | [📝](../zh_TW/dev_guide/troubleshooting.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/troubleshooting.md&commit_hash=b57b46405734013fee2925f43d4a46ad8898267d) |
|
||||||
|
@ -109,7 +112,7 @@ This This file is generated automatically. If you want to edit this, edit [`doc/
|
||||||
| [python/bytecode_specification.md](../EN/python/bytecode_specification.md) | [📝](../zh_TW/python/bytecode_specification.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/bytecode_specification.md&commit_hash=9f6a4a43fcf7e4f58cabe6e5a7546820fd9f5ff4) |
|
| [python/bytecode_specification.md](../EN/python/bytecode_specification.md) | [📝](../zh_TW/python/bytecode_specification.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/bytecode_specification.md&commit_hash=9f6a4a43fcf7e4f58cabe6e5a7546820fd9f5ff4) |
|
||||||
| [python/class_system.md](../EN/python/class_system.md) | [📝](../zh_TW/python/class_system.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/class_system.md&commit_hash=2ecd249a2a99dc93dde2660b8d50bfa4fa0b03b9) |
|
| [python/class_system.md](../EN/python/class_system.md) | [📝](../zh_TW/python/class_system.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/class_system.md&commit_hash=2ecd249a2a99dc93dde2660b8d50bfa4fa0b03b9) |
|
||||||
| [python/index.md](../EN/python/index.md) | [📝](../zh_TW/python/index.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/index.md&commit_hash=64fec7d91494cbb22f89147863db2a8ee81954db) |
|
| [python/index.md](../EN/python/index.md) | [📝](../zh_TW/python/index.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/python/index.md&commit_hash=64fec7d91494cbb22f89147863db2a8ee81954db) |
|
||||||
| [syntax/00_basic.md](../EN/syntax/00_basic.md) | [📝](../zh_TW/syntax/00_basic.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/00_basic.md&commit_hash=764a0e8981db429504b2427a6806887fa937ed2d) |
|
| [syntax/00_basic.md](../EN/syntax/00_basic.md) | [📝](../zh_TW/syntax/00_basic.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/00_basic.md&commit_hash=8f874b3251e0f85832a1c0fd80fffd408844e8a1) |
|
||||||
| [syntax/01_literal.md](../EN/syntax/01_literal.md) | [📝](../zh_TW/syntax/01_literal.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/01_literal.md&commit_hash=2284988386db7516d7f2d0cb25b27bd8397dd69e) |
|
| [syntax/01_literal.md](../EN/syntax/01_literal.md) | [📝](../zh_TW/syntax/01_literal.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/01_literal.md&commit_hash=2284988386db7516d7f2d0cb25b27bd8397dd69e) |
|
||||||
| [syntax/02_name.md](../EN/syntax/02_name.md) | [📝](../zh_TW/syntax/02_name.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/02_name.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
| [syntax/02_name.md](../EN/syntax/02_name.md) | [📝](../zh_TW/syntax/02_name.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/02_name.md&commit_hash=14b0c449efc9e9da3e10a09c912a960ecfaf1c9d) |
|
||||||
| [syntax/03_declaration.md](../EN/syntax/03_declaration.md) | [📝](../zh_TW/syntax/03_declaration.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/03_declaration.md&commit_hash=20aa4f02b994343ab9600317cebafa2b20676467) |
|
| [syntax/03_declaration.md](../EN/syntax/03_declaration.md) | [📝](../zh_TW/syntax/03_declaration.md) [](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/syntax/03_declaration.md&commit_hash=20aa4f02b994343ab9600317cebafa2b20676467) |
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# `erg` 构建功能
|
# `erg` 构建功能
|
||||||
|
|
||||||
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/build_features.md&commit_hash=a4ba6814016f66c32579c53836b10f4abbca8a51)
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/build_features.md&commit_hash=cbaf48c04b46fadc680fa4e05e8ad22cbdaf6c47)
|
||||||
|
|
||||||
## debug
|
## debug
|
||||||
|
|
||||||
|
@ -38,3 +38,7 @@ Erg 内部选项、帮助(帮助、版权、许可证等)和错误显示为繁
|
||||||
|
|
||||||
通过 `--language-server` 使其变得可用
|
通过 `--language-server` 使其变得可用
|
||||||
通过 `erg --language-server` 打开
|
通过 `erg --language-server` 打开
|
||||||
|
|
||||||
|
## py_compatible
|
||||||
|
|
||||||
|
启用Python兼容模式,使部分api和语法与Python兼容。用于[pylyzer](https://github.com/mtshiba/pylyzer)
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# `erg` 構建功能
|
# `erg` 構建功能
|
||||||
|
|
||||||
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/build_features.md&commit_hash=a4ba6814016f66c32579c53836b10f4abbca8a51)
|
[](https://gezf7g7pd5.execute-api.ap-northeast-1.amazonaws.com/default/source_up_to_date?owner=erg-lang&repos=erg&ref=main&path=doc/EN/dev_guide/build_features.md&commit_hash=cbaf48c04b46fadc680fa4e05e8ad22cbdaf6c47)
|
||||||
|
|
||||||
## debug
|
## debug
|
||||||
|
|
||||||
|
@ -38,3 +38,7 @@ Erg 內部選項、幫助(幫助、版權、許可證等)和錯誤顯示為繁
|
||||||
|
|
||||||
通過 `--language-server` 使其變得可用
|
通過 `--language-server` 使其變得可用
|
||||||
通過 `erg --language-server` 打開
|
通過 `erg --language-server` 打開
|
||||||
|
|
||||||
|
## py_compatible
|
||||||
|
|
||||||
|
啟用Python兼容模式,使部分api和語法與Python兼容。用於[pylyzer](https://github.com/mtshiba/pylyzer)
|
||||||
|
|
|
@ -27,7 +27,7 @@ D""""#
|
||||||
);
|
);
|
||||||
|
|
||||||
{
|
{
|
||||||
let output = eval("print 1");
|
let output = eval("print 1"); // print! is correct
|
||||||
assert_eq!(output.stdout, "");
|
assert_eq!(output.stdout, "");
|
||||||
assert!(!output.stderr.is_empty());
|
assert!(!output.stderr.is_empty());
|
||||||
assert_eq!(output.status_code, Some(1));
|
assert_eq!(output.status_code, Some(1));
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue