Compare commits
2 Commits
6a608d7e48
...
1d50dd259b
Author | SHA1 | Date |
---|---|---|
b1ek | 1d50dd259b | |
b1ek | 2cbe2dc197 |
17
src/lib.rs
17
src/lib.rs
|
@ -9,7 +9,6 @@ pub fn lint_code(code: &&str) -> Result<(), Vec<String>> {
|
||||||
|
|
||||||
let mut loop_stack: Vec<usize> = vec![];
|
let mut loop_stack: Vec<usize> = vec![];
|
||||||
let mut pos = 0 as usize;
|
let mut pos = 0 as usize;
|
||||||
let mut pointer = 0;
|
|
||||||
|
|
||||||
let chars = code.chars().collect::<Vec<char>>();
|
let chars = code.chars().collect::<Vec<char>>();
|
||||||
let size = code.len();
|
let size = code.len();
|
||||||
|
@ -24,20 +23,6 @@ pub fn lint_code(code: &&str) -> Result<(), Vec<String>> {
|
||||||
let char = chars[pos];
|
let char = chars[pos];
|
||||||
pos += 1;
|
pos += 1;
|
||||||
|
|
||||||
if char == '<' {
|
|
||||||
if pointer == 0 {
|
|
||||||
errors.push(format!("ERR: Reducing pointer to less than 0 is not allowed ({})", pos));
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
pointer -= 1;
|
|
||||||
}
|
|
||||||
if char == '>' {
|
|
||||||
if pointer == 29999 {
|
|
||||||
errors.push(format!("ERR: Increasing pointer to more than 29999 is not allowed ({})", pos));
|
|
||||||
continue
|
|
||||||
}
|
|
||||||
pointer += 1;
|
|
||||||
}
|
|
||||||
if char == '[' {
|
if char == '[' {
|
||||||
loop_stack.push(pos);
|
loop_stack.push(pos);
|
||||||
continue
|
continue
|
||||||
|
@ -90,7 +75,7 @@ pub fn eval_mem(bf_str: &&str, mem: &mut [u8], pointer: &mut usize) -> Result<()
|
||||||
}
|
}
|
||||||
if char == '<' {
|
if char == '<' {
|
||||||
if *pointer == 0 {
|
if *pointer == 0 {
|
||||||
return Err(format!("Attempt to reduce pointer to less than 1 ({})", pos));
|
return Err(format!("Attempt to reduce pointer to less than 0 ({})", pos));
|
||||||
}
|
}
|
||||||
*pointer -= 1;
|
*pointer -= 1;
|
||||||
continue
|
continue
|
||||||
|
|
Loading…
Reference in New Issue