Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
clean-compiler-and-rts
compiler
Commits
bab10edd
Commit
bab10edd
authored
Jun 20, 2001
by
John van Groningen
Browse files
optimise && and ||
parent
bfd13f1e
Changes
1
Hide whitespace changes
Inline
Side-by-side
backend/backendpreprocess.icl
View file @
bab10edd
...
...
@@ -98,8 +98,9 @@ instance sequence Expression where
=
sequence
let_strict_binds
o`
sequence
let_lazy_binds
o`
sequence
let_expr
sequence
(
Conditional
{
if_then
,
if_else
})
=
sequence
if_then
sequence
(
Conditional
{
if_cond
,
if_then
,
if_else
})
=
sequence
if_cond
o`
sequence
if_then
o`
sequence
if_else
sequence
(
App
{
app_args
})
=
sequence
app_args
...
...
@@ -152,9 +153,10 @@ instance sequence LetBind where
// MW0 = sequence` app bind_dst
=
sequence`
app
lb_dst
where
// MW0
sequence` {app_symb, app_args} bind_dst sequenceState=:{ss_aliasDummyId}
// MW0 sequence` {app_symb, app_args} bind_dst sequenceState=:{ss_aliasDummyId}
sequence`
{
app_symb
,
app_args
}
lb_dst
sequenceState
=:{
ss_aliasDummyId
}
|
app_symb
.
symb_name
==
ss_aliasDummyId
|
not
(
isNilPtr
app_symb
.
symb_name
.
id_info
)
// nilPtr's are generated for Case's with case_ident=No in convertcases
&&
app_symb
.
symb_name
==
ss_aliasDummyId
// the compiled source was a strict alias like "#! x = y"
=
case
hd
app_args
of
Var
bound_var
=:{
var_info_ptr
}
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment