4 changed files with 675 additions and 0 deletions
@ -0,0 +1,339 @@ |
|||||
|
af AND ah -> ai |
||||
|
NOT lk -> ll |
||||
|
hz RSHIFT 1 -> is |
||||
|
NOT go -> gp |
||||
|
du OR dt -> dv |
||||
|
x RSHIFT 5 -> aa |
||||
|
at OR az -> ba |
||||
|
eo LSHIFT 15 -> es |
||||
|
ci OR ct -> cu |
||||
|
b RSHIFT 5 -> f |
||||
|
fm OR fn -> fo |
||||
|
NOT ag -> ah |
||||
|
v OR w -> x |
||||
|
g AND i -> j |
||||
|
an LSHIFT 15 -> ar |
||||
|
1 AND cx -> cy |
||||
|
jq AND jw -> jy |
||||
|
iu RSHIFT 5 -> ix |
||||
|
gl AND gm -> go |
||||
|
NOT bw -> bx |
||||
|
jp RSHIFT 3 -> jr |
||||
|
hg AND hh -> hj |
||||
|
bv AND bx -> by |
||||
|
er OR es -> et |
||||
|
kl OR kr -> ks |
||||
|
et RSHIFT 1 -> fm |
||||
|
e AND f -> h |
||||
|
u LSHIFT 1 -> ao |
||||
|
he RSHIFT 1 -> hx |
||||
|
eg AND ei -> ej |
||||
|
bo AND bu -> bw |
||||
|
dz OR ef -> eg |
||||
|
dy RSHIFT 3 -> ea |
||||
|
gl OR gm -> gn |
||||
|
da LSHIFT 1 -> du |
||||
|
au OR av -> aw |
||||
|
gj OR gu -> gv |
||||
|
eu OR fa -> fb |
||||
|
lg OR lm -> ln |
||||
|
e OR f -> g |
||||
|
NOT dm -> dn |
||||
|
NOT l -> m |
||||
|
aq OR ar -> as |
||||
|
gj RSHIFT 5 -> gm |
||||
|
hm AND ho -> hp |
||||
|
ge LSHIFT 15 -> gi |
||||
|
jp RSHIFT 1 -> ki |
||||
|
hg OR hh -> hi |
||||
|
lc LSHIFT 1 -> lw |
||||
|
km OR kn -> ko |
||||
|
eq LSHIFT 1 -> fk |
||||
|
1 AND am -> an |
||||
|
gj RSHIFT 1 -> hc |
||||
|
aj AND al -> am |
||||
|
gj AND gu -> gw |
||||
|
ko AND kq -> kr |
||||
|
ha OR gz -> hb |
||||
|
bn OR by -> bz |
||||
|
iv OR jb -> jc |
||||
|
NOT ac -> ad |
||||
|
bo OR bu -> bv |
||||
|
d AND j -> l |
||||
|
bk LSHIFT 1 -> ce |
||||
|
de OR dk -> dl |
||||
|
dd RSHIFT 1 -> dw |
||||
|
hz AND ik -> im |
||||
|
NOT jd -> je |
||||
|
fo RSHIFT 2 -> fp |
||||
|
hb LSHIFT 1 -> hv |
||||
|
lf RSHIFT 2 -> lg |
||||
|
gj RSHIFT 3 -> gl |
||||
|
ki OR kj -> kk |
||||
|
NOT ak -> al |
||||
|
ld OR le -> lf |
||||
|
ci RSHIFT 3 -> ck |
||||
|
1 AND cc -> cd |
||||
|
NOT kx -> ky |
||||
|
fp OR fv -> fw |
||||
|
ev AND ew -> ey |
||||
|
dt LSHIFT 15 -> dx |
||||
|
NOT ax -> ay |
||||
|
bp AND bq -> bs |
||||
|
NOT ii -> ij |
||||
|
ci AND ct -> cv |
||||
|
iq OR ip -> ir |
||||
|
x RSHIFT 2 -> y |
||||
|
fq OR fr -> fs |
||||
|
bn RSHIFT 5 -> bq |
||||
|
0 -> c |
||||
|
14146 -> b |
||||
|
d OR j -> k |
||||
|
z OR aa -> ab |
||||
|
gf OR ge -> gg |
||||
|
df OR dg -> dh |
||||
|
NOT hj -> hk |
||||
|
NOT di -> dj |
||||
|
fj LSHIFT 15 -> fn |
||||
|
lf RSHIFT 1 -> ly |
||||
|
b AND n -> p |
||||
|
jq OR jw -> jx |
||||
|
gn AND gp -> gq |
||||
|
x RSHIFT 1 -> aq |
||||
|
ex AND ez -> fa |
||||
|
NOT fc -> fd |
||||
|
bj OR bi -> bk |
||||
|
as RSHIFT 5 -> av |
||||
|
hu LSHIFT 15 -> hy |
||||
|
NOT gs -> gt |
||||
|
fs AND fu -> fv |
||||
|
dh AND dj -> dk |
||||
|
bz AND cb -> cc |
||||
|
dy RSHIFT 1 -> er |
||||
|
hc OR hd -> he |
||||
|
fo OR fz -> ga |
||||
|
t OR s -> u |
||||
|
b RSHIFT 2 -> d |
||||
|
NOT jy -> jz |
||||
|
hz RSHIFT 2 -> ia |
||||
|
kk AND kv -> kx |
||||
|
ga AND gc -> gd |
||||
|
fl LSHIFT 1 -> gf |
||||
|
bn AND by -> ca |
||||
|
NOT hr -> hs |
||||
|
NOT bs -> bt |
||||
|
lf RSHIFT 3 -> lh |
||||
|
au AND av -> ax |
||||
|
1 AND gd -> ge |
||||
|
jr OR js -> jt |
||||
|
fw AND fy -> fz |
||||
|
NOT iz -> ja |
||||
|
c LSHIFT 1 -> t |
||||
|
dy RSHIFT 5 -> eb |
||||
|
bp OR bq -> br |
||||
|
NOT h -> i |
||||
|
1 AND ds -> dt |
||||
|
ab AND ad -> ae |
||||
|
ap LSHIFT 1 -> bj |
||||
|
br AND bt -> bu |
||||
|
NOT ca -> cb |
||||
|
NOT el -> em |
||||
|
s LSHIFT 15 -> w |
||||
|
gk OR gq -> gr |
||||
|
ff AND fh -> fi |
||||
|
kf LSHIFT 15 -> kj |
||||
|
fp AND fv -> fx |
||||
|
lh OR li -> lj |
||||
|
bn RSHIFT 3 -> bp |
||||
|
jp OR ka -> kb |
||||
|
lw OR lv -> lx |
||||
|
iy AND ja -> jb |
||||
|
dy OR ej -> ek |
||||
|
1 AND bh -> bi |
||||
|
NOT kt -> ku |
||||
|
ao OR an -> ap |
||||
|
ia AND ig -> ii |
||||
|
NOT ey -> ez |
||||
|
bn RSHIFT 1 -> cg |
||||
|
fk OR fj -> fl |
||||
|
ce OR cd -> cf |
||||
|
eu AND fa -> fc |
||||
|
kg OR kf -> kh |
||||
|
jr AND js -> ju |
||||
|
iu RSHIFT 3 -> iw |
||||
|
df AND dg -> di |
||||
|
dl AND dn -> do |
||||
|
la LSHIFT 15 -> le |
||||
|
fo RSHIFT 1 -> gh |
||||
|
NOT gw -> gx |
||||
|
NOT gb -> gc |
||||
|
ir LSHIFT 1 -> jl |
||||
|
x AND ai -> ak |
||||
|
he RSHIFT 5 -> hh |
||||
|
1 AND lu -> lv |
||||
|
NOT ft -> fu |
||||
|
gh OR gi -> gj |
||||
|
lf RSHIFT 5 -> li |
||||
|
x RSHIFT 3 -> z |
||||
|
b RSHIFT 3 -> e |
||||
|
he RSHIFT 2 -> hf |
||||
|
NOT fx -> fy |
||||
|
jt AND jv -> jw |
||||
|
hx OR hy -> hz |
||||
|
jp AND ka -> kc |
||||
|
fb AND fd -> fe |
||||
|
hz OR ik -> il |
||||
|
ci RSHIFT 1 -> db |
||||
|
fo AND fz -> gb |
||||
|
fq AND fr -> ft |
||||
|
gj RSHIFT 2 -> gk |
||||
|
cg OR ch -> ci |
||||
|
cd LSHIFT 15 -> ch |
||||
|
jm LSHIFT 1 -> kg |
||||
|
ih AND ij -> ik |
||||
|
fo RSHIFT 3 -> fq |
||||
|
fo RSHIFT 5 -> fr |
||||
|
1 AND fi -> fj |
||||
|
1 AND kz -> la |
||||
|
iu AND jf -> jh |
||||
|
cq AND cs -> ct |
||||
|
dv LSHIFT 1 -> ep |
||||
|
hf OR hl -> hm |
||||
|
km AND kn -> kp |
||||
|
de AND dk -> dm |
||||
|
dd RSHIFT 5 -> dg |
||||
|
NOT lo -> lp |
||||
|
NOT ju -> jv |
||||
|
NOT fg -> fh |
||||
|
cm AND co -> cp |
||||
|
ea AND eb -> ed |
||||
|
dd RSHIFT 3 -> df |
||||
|
gr AND gt -> gu |
||||
|
ep OR eo -> eq |
||||
|
cj AND cp -> cr |
||||
|
lf OR lq -> lr |
||||
|
gg LSHIFT 1 -> ha |
||||
|
et RSHIFT 2 -> eu |
||||
|
NOT jh -> ji |
||||
|
ek AND em -> en |
||||
|
jk LSHIFT 15 -> jo |
||||
|
ia OR ig -> ih |
||||
|
gv AND gx -> gy |
||||
|
et AND fe -> fg |
||||
|
lh AND li -> lk |
||||
|
1 AND io -> ip |
||||
|
kb AND kd -> ke |
||||
|
kk RSHIFT 5 -> kn |
||||
|
id AND if -> ig |
||||
|
NOT ls -> lt |
||||
|
dw OR dx -> dy |
||||
|
dd AND do -> dq |
||||
|
lf AND lq -> ls |
||||
|
NOT kc -> kd |
||||
|
dy AND ej -> el |
||||
|
1 AND ke -> kf |
||||
|
et OR fe -> ff |
||||
|
hz RSHIFT 5 -> ic |
||||
|
dd OR do -> dp |
||||
|
cj OR cp -> cq |
||||
|
NOT dq -> dr |
||||
|
kk RSHIFT 1 -> ld |
||||
|
jg AND ji -> jj |
||||
|
he OR hp -> hq |
||||
|
hi AND hk -> hl |
||||
|
dp AND dr -> ds |
||||
|
dz AND ef -> eh |
||||
|
hz RSHIFT 3 -> ib |
||||
|
db OR dc -> dd |
||||
|
hw LSHIFT 1 -> iq |
||||
|
he AND hp -> hr |
||||
|
NOT cr -> cs |
||||
|
lg AND lm -> lo |
||||
|
hv OR hu -> hw |
||||
|
il AND in -> io |
||||
|
NOT eh -> ei |
||||
|
gz LSHIFT 15 -> hd |
||||
|
gk AND gq -> gs |
||||
|
1 AND en -> eo |
||||
|
NOT kp -> kq |
||||
|
et RSHIFT 5 -> ew |
||||
|
lj AND ll -> lm |
||||
|
he RSHIFT 3 -> hg |
||||
|
et RSHIFT 3 -> ev |
||||
|
as AND bd -> bf |
||||
|
cu AND cw -> cx |
||||
|
jx AND jz -> ka |
||||
|
b OR n -> o |
||||
|
be AND bg -> bh |
||||
|
1 AND ht -> hu |
||||
|
1 AND gy -> gz |
||||
|
NOT hn -> ho |
||||
|
ck OR cl -> cm |
||||
|
ec AND ee -> ef |
||||
|
lv LSHIFT 15 -> lz |
||||
|
ks AND ku -> kv |
||||
|
NOT ie -> if |
||||
|
hf AND hl -> hn |
||||
|
1 AND r -> s |
||||
|
ib AND ic -> ie |
||||
|
hq AND hs -> ht |
||||
|
y AND ae -> ag |
||||
|
NOT ed -> ee |
||||
|
bi LSHIFT 15 -> bm |
||||
|
dy RSHIFT 2 -> dz |
||||
|
ci RSHIFT 2 -> cj |
||||
|
NOT bf -> bg |
||||
|
NOT im -> in |
||||
|
ev OR ew -> ex |
||||
|
ib OR ic -> id |
||||
|
bn RSHIFT 2 -> bo |
||||
|
dd RSHIFT 2 -> de |
||||
|
bl OR bm -> bn |
||||
|
as RSHIFT 1 -> bl |
||||
|
ea OR eb -> ec |
||||
|
ln AND lp -> lq |
||||
|
kk RSHIFT 3 -> km |
||||
|
is OR it -> iu |
||||
|
iu RSHIFT 2 -> iv |
||||
|
as OR bd -> be |
||||
|
ip LSHIFT 15 -> it |
||||
|
iw OR ix -> iy |
||||
|
kk RSHIFT 2 -> kl |
||||
|
NOT bb -> bc |
||||
|
ci RSHIFT 5 -> cl |
||||
|
ly OR lz -> ma |
||||
|
z AND aa -> ac |
||||
|
iu RSHIFT 1 -> jn |
||||
|
cy LSHIFT 15 -> dc |
||||
|
cf LSHIFT 1 -> cz |
||||
|
as RSHIFT 3 -> au |
||||
|
cz OR cy -> da |
||||
|
kw AND ky -> kz |
||||
|
lx -> a |
||||
|
iw AND ix -> iz |
||||
|
lr AND lt -> lu |
||||
|
jp RSHIFT 5 -> js |
||||
|
aw AND ay -> az |
||||
|
jc AND je -> jf |
||||
|
lb OR la -> lc |
||||
|
NOT cn -> co |
||||
|
kh LSHIFT 1 -> lb |
||||
|
1 AND jj -> jk |
||||
|
y OR ae -> af |
||||
|
ck AND cl -> cn |
||||
|
kk OR kv -> kw |
||||
|
NOT cv -> cw |
||||
|
kl AND kr -> kt |
||||
|
iu OR jf -> jg |
||||
|
at AND az -> bb |
||||
|
jp RSHIFT 2 -> jq |
||||
|
iv AND jb -> jd |
||||
|
jn OR jo -> jp |
||||
|
x OR ai -> aj |
||||
|
ba AND bc -> bd |
||||
|
jl OR jk -> jm |
||||
|
b RSHIFT 1 -> v |
||||
|
o AND q -> r |
||||
|
NOT p -> q |
||||
|
k AND m -> n |
||||
|
as RSHIFT 2 -> at |
||||
@ -0,0 +1,286 @@ |
|||||
|
use std::collections::HashMap; |
||||
|
|
||||
|
const DEBUG : bool = false; |
||||
|
|
||||
|
pub struct Data { |
||||
|
head: usize, |
||||
|
tree: HashMap<String, Node>, |
||||
|
} |
||||
|
|
||||
|
impl Data { |
||||
|
pub fn new() -> Data { |
||||
|
Data { |
||||
|
head: 0, |
||||
|
tree: HashMap::new(), |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
pub fn parse(&mut self, input: String) { |
||||
|
for line in input.split("\n") { |
||||
|
let newnode = Node::parse(String::from(line)); |
||||
|
if DEBUG { |
||||
|
println!("{}: {}, {}, {}, {:?}, {}", line, newnode.name, newnode.a, newnode.b, newnode.fun, newnode.value); |
||||
|
} |
||||
|
self.tree.insert(newnode.name.clone(), newnode); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
pub fn execute(& self, name: String) -> Option<u16> { |
||||
|
let mut res = 0u16; |
||||
|
let mut results = HashMap::new(); |
||||
|
let mut start = match self.tree.get(&name) { |
||||
|
Some(val) => { |
||||
|
if DEBUG { |
||||
|
println!("Starting Execution"); |
||||
|
println!("\"{}\": {}, {}, {:?}, {}", val.name, val.a, val.b, val.fun, val.value); |
||||
|
} |
||||
|
val |
||||
|
}, |
||||
|
None => return None, |
||||
|
}; |
||||
|
start.execute(& self.tree, &mut results) |
||||
|
} |
||||
|
|
||||
|
pub fn execute2(&mut self, name: String) -> Option<u16> { |
||||
|
{ |
||||
|
let mut nodeb = self.tree.get_mut(&String::from("b")).unwrap(); |
||||
|
nodeb.value = 956; |
||||
|
nodeb.fun = Mode::Const; |
||||
|
} |
||||
|
let mut res = 0u16; |
||||
|
let mut results = HashMap::new(); |
||||
|
let mut start = match self.tree.get(&name) { |
||||
|
Some(val) => { |
||||
|
if DEBUG { |
||||
|
println!("Starting Execution"); |
||||
|
println!("\"{}\": {}, {}, {:?}, {}", val.name, val.a, val.b, val.fun, val.value); |
||||
|
} |
||||
|
val |
||||
|
}, |
||||
|
None => return None, |
||||
|
}; |
||||
|
start.execute(& self.tree, &mut results) |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
#[derive(Debug)] |
||||
|
enum Mode { |
||||
|
Const, |
||||
|
Not, |
||||
|
Lshift, |
||||
|
Rshift, |
||||
|
And, |
||||
|
Or, |
||||
|
Andconst, |
||||
|
Orconst, |
||||
|
Equal, |
||||
|
} |
||||
|
|
||||
|
struct Node { |
||||
|
name: String, |
||||
|
a: String, |
||||
|
b: String, |
||||
|
fun: Mode, |
||||
|
value: u16, |
||||
|
} |
||||
|
|
||||
|
impl Node{ |
||||
|
pub fn new() -> Node { |
||||
|
Node { |
||||
|
name: String::new(), |
||||
|
a: String::new(), |
||||
|
b: String::new(), |
||||
|
fun: Mode::Const, |
||||
|
value: 0, |
||||
|
} |
||||
|
} |
||||
|
pub fn execute(& self, tree: & HashMap<String, Node>, results: &mut HashMap<String, u16>) -> Option<u16> { |
||||
|
if DEBUG { |
||||
|
println!("{}: {}, {}, {:?}, {}", self.name, self.a, self.b, self.fun, self.value); |
||||
|
} |
||||
|
|
||||
|
match results.get(&self.name) { |
||||
|
Some(&val) => Some(val), |
||||
|
None => { |
||||
|
let res = match self.fun { |
||||
|
Mode::Const => Some(self.value), |
||||
|
Mode::Not => { |
||||
|
match tree.get(&self.a) { |
||||
|
Some(val) => match val.execute(tree, results) { |
||||
|
Some(res) => { |
||||
|
Some(!res) |
||||
|
}, |
||||
|
None => None, |
||||
|
}, |
||||
|
None => None, |
||||
|
} |
||||
|
}, |
||||
|
Mode::Equal => { |
||||
|
match tree.get(&self.a) { |
||||
|
Some(val) => match val.execute(tree, results) { |
||||
|
Some(res) => { |
||||
|
Some(res) |
||||
|
}, |
||||
|
None => None, |
||||
|
}, |
||||
|
None => None, |
||||
|
} |
||||
|
}, |
||||
|
Mode::Lshift => { |
||||
|
match tree.get(&self.a) { |
||||
|
Some(val) => match val.execute(tree, results) { |
||||
|
Some(res) => { |
||||
|
Some(res << self.value) |
||||
|
}, |
||||
|
None => None, |
||||
|
}, |
||||
|
None => None, |
||||
|
} |
||||
|
}, |
||||
|
Mode::Rshift => { |
||||
|
match tree.get(&self.a) { |
||||
|
Some(val) => match val.execute(tree, results) { |
||||
|
Some(res) => { |
||||
|
Some(res >> self.value) |
||||
|
}, |
||||
|
None => None, |
||||
|
}, |
||||
|
None => None, |
||||
|
} |
||||
|
}, |
||||
|
Mode::Andconst => { |
||||
|
match tree.get(&self.a) { |
||||
|
Some(val) => match val.execute(tree, results) { |
||||
|
Some(res) => { |
||||
|
Some(self.value & res) |
||||
|
}, |
||||
|
None => None, |
||||
|
}, |
||||
|
None => None, |
||||
|
} |
||||
|
}, |
||||
|
Mode::Orconst => { |
||||
|
match tree.get(&self.a) { |
||||
|
Some(val) => match val.execute(tree, results) { |
||||
|
Some(res) => { |
||||
|
Some(self.value | res) |
||||
|
}, |
||||
|
None => None, |
||||
|
}, |
||||
|
None => None, |
||||
|
} |
||||
|
}, |
||||
|
Mode::And => { |
||||
|
match tree.get(&self.a) { |
||||
|
Some(vala) => match vala.execute(tree, results) { |
||||
|
Some(resa) => { |
||||
|
match tree.get(&self.b) { |
||||
|
Some(valb) => match valb.execute(tree, results) { |
||||
|
Some(resb) => { |
||||
|
Some(resa & resb) |
||||
|
}, |
||||
|
None => None, |
||||
|
}, |
||||
|
None => None, |
||||
|
} |
||||
|
}, |
||||
|
None => None, |
||||
|
}, |
||||
|
None => None, |
||||
|
} |
||||
|
}, |
||||
|
Mode::Or => { |
||||
|
match tree.get(&self.a) { |
||||
|
Some(vala) => match vala.execute(tree, results) { |
||||
|
Some(resa) => { |
||||
|
match tree.get(&self.b) { |
||||
|
Some(valb) => match valb.execute(tree, results) { |
||||
|
Some(resb) => { |
||||
|
Some(resa | resb) |
||||
|
}, |
||||
|
None => None, |
||||
|
}, |
||||
|
None => None, |
||||
|
} |
||||
|
}, |
||||
|
None => None, |
||||
|
}, |
||||
|
None => None, |
||||
|
} |
||||
|
}, |
||||
|
_ => None, |
||||
|
}; |
||||
|
match res { |
||||
|
Some(val) => { |
||||
|
results.insert(self.name.clone(), val); |
||||
|
}, |
||||
|
None => (), |
||||
|
}; |
||||
|
res |
||||
|
}, |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
pub fn parse(line: String) -> Node { |
||||
|
let mut arg: Vec<&str> = line.split_whitespace().collect(); |
||||
|
let mut newnode = Node::new(); |
||||
|
if arg.len() >= 3 { |
||||
|
let mut s = arg.remove(0); |
||||
|
if s.contains(char::is_uppercase) { |
||||
|
match s { |
||||
|
"NOT" => { |
||||
|
newnode.fun = Mode::Not; |
||||
|
newnode.a = String::from(arg.remove(0)); |
||||
|
}, |
||||
|
_ => (), |
||||
|
} |
||||
|
} else if s.contains(char::is_lowercase) { |
||||
|
newnode.a = String::from(s); |
||||
|
if arg.get(0).unwrap().contains(char::is_uppercase) { |
||||
|
match arg.remove(0) { |
||||
|
"AND" => { |
||||
|
newnode.fun = Mode::And; |
||||
|
newnode.b = String::from(arg.remove(0)); |
||||
|
}, |
||||
|
"OR" => { |
||||
|
newnode.fun = Mode::Or; |
||||
|
newnode.b = String::from(arg.remove(0)); |
||||
|
}, |
||||
|
"LSHIFT" => { |
||||
|
newnode.fun = Mode::Lshift; |
||||
|
newnode.value = arg.remove(0).parse::<u16>().unwrap(); |
||||
|
}, |
||||
|
"RSHIFT" => { |
||||
|
newnode.fun = Mode::Rshift; |
||||
|
newnode.value = arg.remove(0).parse::<u16>().unwrap(); |
||||
|
}, |
||||
|
_ => (), |
||||
|
} |
||||
|
} else { |
||||
|
newnode.fun = Mode::Equal; |
||||
|
} |
||||
|
} else if s.contains(char::is_numeric) { |
||||
|
newnode.value = s.parse::<u16>().unwrap(); |
||||
|
if arg.get(0).unwrap().contains(char::is_uppercase) { |
||||
|
match arg.remove(0) { |
||||
|
"AND" => { |
||||
|
newnode.fun = Mode::Andconst; |
||||
|
newnode.a = String::from(arg.remove(0)); |
||||
|
}, |
||||
|
"OR" => { |
||||
|
newnode.fun = Mode::Orconst; |
||||
|
newnode.a = String::from(arg.remove(0)); |
||||
|
}, |
||||
|
_ => (), |
||||
|
} |
||||
|
} else { |
||||
|
newnode.fun = Mode::Const; |
||||
|
} |
||||
|
} |
||||
|
} |
||||
|
if arg.remove(0).eq("->") { |
||||
|
newnode.name = String::from(arg.remove(0)); |
||||
|
} |
||||
|
newnode |
||||
|
} |
||||
|
} |
||||
Loading…
Reference in new issue