remove debug prints 2, minor fixes
This commit is contained in:
parent
06a51a258b
commit
3a4105dc5d
6 changed files with 27 additions and 4 deletions
2
Cargo.lock
generated
2
Cargo.lock
generated
|
@ -22,7 +22,7 @@ checksum = "b03f7fbd470aa8b3ad163c85cce8bccfc11cc9c44ef12da0a4eddd98bd307352"
|
|||
|
||||
[[package]]
|
||||
name = "spl"
|
||||
version = "0.1.8"
|
||||
version = "0.2.1"
|
||||
dependencies = [
|
||||
"multicall",
|
||||
"once_cell",
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
[package]
|
||||
name = "spl"
|
||||
version = "0.2.1"
|
||||
version = "0.2.2"
|
||||
edition = "2021"
|
||||
description = "Stack Pogramming Language: A simple, concise scripting language."
|
||||
license = "MIT"
|
||||
|
|
1
iter.spl
1
iter.spl
|
@ -210,6 +210,7 @@ construct EnumerationIter {
|
|||
;
|
||||
construct { this | with origin this ;
|
||||
origin this:=origin
|
||||
0 this:=idx
|
||||
this
|
||||
}
|
||||
next { [mega,any]|null | with this ;
|
||||
|
|
|
@ -181,7 +181,6 @@ fn read_block(str_words: &[String], isfn: bool) -> Result<(Option<u32>, Words, u
|
|||
}
|
||||
let blk = read_block(&str_words[i + 1..], false)?;
|
||||
i += 2 + blk.2;
|
||||
println!("{} {}", str_words[i], str_words[i+1]);
|
||||
let ctch = read_block(&str_words[i + 1..], false)?;
|
||||
i += 1 + ctch.2;
|
||||
words.push(Word::Key(Keyword::Catch(types, blk.1, ctch.1)))
|
||||
|
|
|
@ -447,7 +447,7 @@ pub fn to_str(stack: &mut Stack) -> OError {
|
|||
))
|
||||
}),
|
||||
_ => stack.err(ErrorKind::InvalidType(
|
||||
"int".to_owned(),
|
||||
"?".to_owned(),
|
||||
"__str-element".to_owned(),
|
||||
)),
|
||||
})
|
||||
|
|
23
std.spl
23
std.spl
|
@ -56,6 +56,29 @@ construct _str_ext {
|
|||
] _str
|
||||
} ]
|
||||
}
|
||||
replace { str | with replacee replacement this ;
|
||||
def bytes replacee:to-bytes =bytes
|
||||
def iter this:to-bytes:iter =iter
|
||||
def item 0 =item
|
||||
[ while { item null eq not } {
|
||||
def match 0 =match
|
||||
while { match bytes:len eq not } {
|
||||
iter:next =item
|
||||
item null eq if {
|
||||
3 stop
|
||||
}
|
||||
item dup (match bytes:get) eq dup if {
|
||||
match ++ =match
|
||||
} not if {
|
||||
0 =match
|
||||
}
|
||||
}
|
||||
{ | pop pop } match:foreach
|
||||
match bytes:len eq if {
|
||||
replacement _array :to-stack
|
||||
}
|
||||
} ] _str
|
||||
}
|
||||
} include _str_ext in str
|
||||
|
||||
construct _mega-ext {
|
||||
|
|
Loading…
Reference in a new issue