Skip to content
GitLab
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
4af77f09
Commit
4af77f09
authored
Jun 17, 2002
by
John van Groningen
Browse files
removed ingnored !'s
parent
cb0cea48
Changes
9
Hide whitespace changes
Inline
Side-by-side
frontend/checksupport.icl
View file @
4af77f09
...
...
@@ -295,7 +295,7 @@ removeImportsAndLocalsOfModuleFromSymbolTable {dcls_import,dcls_local_for_import
#
symbol_table
=
remove_declared_symbols_in_array
0
dcls_import
symbol_table
=
remove_declared_symbols_in_array
0
dcls_local_for_import
symbol_table
where
remove_declared_symbols_in_array
::
!
Int
!{!
Declaration
}
!*
SymbolTable
->
!
*
SymbolTable
remove_declared_symbols_in_array
::
!
Int
!{!
Declaration
}
!*
SymbolTable
->
*
SymbolTable
remove_declared_symbols_in_array
symbol_index
symbols
symbol_table
|
symbol_index
<
size
symbols
#
symbol
=
symbols
.[
symbol_index
]
...
...
frontend/hashtable.dcl
View file @
4af77f09
...
...
@@ -29,6 +29,6 @@ set_hte_mark :: !Int !*HashTable -> *HashTable
::
BoxedIdent
=
{
boxed_ident
::!
Ident
}
putIdentInHashTable
::
!
String
!
IdentClass
!*
HashTable
->
(!
BoxedIdent
,
!*
HashTable
)
putPredefinedIdentInHashTable
::
!
Ident
!
IdentClass
!*
HashTable
->
!
*
HashTable
putPredefinedIdentInHashTable
::
!
Ident
!
IdentClass
!*
HashTable
->
*
HashTable
remove_icl_symbols_from_hash_table
::
!*
HashTable
->
*
HashTable
frontend/hashtable.icl
View file @
4af77f09
...
...
@@ -108,7 +108,7 @@ where
#!
(
boxed_ident
,
hte_symbol_heap
,
hte_right
)
=
insert
name
ident_class
hte_mark0
hte_symbol_heap
hte_right
=
(
boxed_ident
,
hte_symbol_heap
,
HTE_Ident
hte_ident
hte_class
hte_mark
hte_left
hte_right
)
putPredefinedIdentInHashTable
::
!
Ident
!
IdentClass
!*
HashTable
->
!
*
HashTable
putPredefinedIdentInHashTable
::
!
Ident
!
IdentClass
!*
HashTable
->
*
HashTable
putPredefinedIdentInHashTable
predefined_ident
=:{
id_name
}
ident_class
{
hte_symbol_heap
,
hte_entries
,
hte_mark
}
#
hash_val
=
hashValue
id_name
(
entries
,
hte_entries
)
=
replace
hte_entries
hash_val
HTE_Empty
...
...
frontend/scanner.dcl
View file @
4af77f09
...
...
@@ -10,7 +10,7 @@ import StdEnv, general
}
::
ModTimeFunction
f
:==
({#
Char
}
!
f
->
*(!{#
Char
},
!
f
))
:==
({#
Char
}
f
->
*(!{#
Char
},
!
f
))
// ... RWS
...
...
@@ -129,7 +129,7 @@ instance <<< FilePosition
class
getFilename
state
::
!*
state
->
(!
String
,!*
state
)
instance
getFilename
ScanState
class
tokenBack
state
::
!*
state
->
!
*
state
class
tokenBack
state
::
!*
state
->
*
state
instance
tokenBack
ScanState
class
nextToken
state
::
!
ScanContext
!*
state
->
(!
Token
,
!*
state
)
...
...
frontend/scanner.icl
View file @
4af77f09
...
...
@@ -11,7 +11,7 @@ from utilities import revCharListToString, isSpecialChar
}
::
ModTimeFunction
f
:==
({#
Char
}
!
f
->
*(!{#
Char
},
!
f
))
:==
({#
Char
}
f
->
*(!{#
Char
},
!
f
))
// ... RWS
...
...
@@ -380,7 +380,7 @@ where
mark_poistion
input
=
input
nextToken
_
_
=
abort
"Scanner: Error in nextToken"
class
tokenBack
state
::
!*
state
->
!
*
state
class
tokenBack
state
::
!*
state
->
*
state
instance
tokenBack
RScanState
where
...
...
@@ -565,7 +565,7 @@ scan_comment_in_line i fp_col fp_line line tabsize stream inp_filename
,
inp_pos
=
{
fp_line
=
fp_line
,
fp_col
=
fp_col
}
}
SkipToEndOfLine
::
!
Input
->
!
Input
SkipToEndOfLine
::
!
Input
->
Input
SkipToEndOfLine
input
=:{
inp_stream
=
OldLine
i
line
stream
,
inp_pos
={
fp_line
,
fp_col
}}
|
i
<
size
line
=
{
input
&
inp_stream
=
stream
,
inp_pos
={
fp_line
=
fp_line
+1
,
fp_col
=
0
}}
...
...
@@ -1021,7 +1021,7 @@ ScanChar input chars
|
'\\'
==
c
=
ScanBSChar
0
chars
input
ScanEndOfChar
=
ScanEndOfChar
1
[
c
:
chars
]
input
ScanBSChar
::
!
Int
![
Char
]
!
Input
(
!
Int
!
[
Char
]
!
Input
->
(!
Token
,
!
Input
))
->
(!
Token
,
!
Input
)
ScanBSChar
::
!
Int
![
Char
]
!
Input
(
Int
[
Char
]
Input
->
(!
Token
,
!
Input
))
->
(!
Token
,
!
Input
)
ScanBSChar
n
chars
input
cont
#
(
eof
,
c
,
input
)
=
ReadNormalChar
input
|
eof
=
cont
n
chars
input
...
...
frontend/typeproperties.dcl
View file @
4af77f09
...
...
@@ -52,5 +52,5 @@ instance * Sign
retrieveSignClassification
::
![
SignClassification
]
!
TypeClassification
->
Optional
(
TypeSign
[
SignClassification
])
retrievePropClassification
::
![
PropClassification
]
!
TypeClassification
->
Optional
(
TypeProp
[
PropClassification
])
addSignClassification
::
![
SignClassification
]
!
SignClassification
!
TypeClassification
->
!
TypeClassification
addPropClassification
::
![
PropClassification
]
!
PropClassification
!
TypeClassification
->
!
TypeClassification
addSignClassification
::
![
SignClassification
]
!
SignClassification
!
TypeClassification
->
TypeClassification
addPropClassification
::
![
PropClassification
]
!
PropClassification
!
TypeClassification
->
TypeClassification
frontend/typeproperties.icl
View file @
4af77f09
...
...
@@ -81,7 +81,7 @@ treeInsert new_key new_el tree=:(BT_Node el left right)
=
BT_Node
el
(
treeInsert
new_key
new_el
left
)
right
=
BT_Node
el
left
(
treeInsert
new_key
new_el
right
)
treeRetrieve
::
!
k
!(
BinTree
(
m
k
))
->
!
Optional
(
m
k
)
|
=<
k
&
key
m
treeRetrieve
::
!
k
!(
BinTree
(
m
k
))
->
Optional
(
m
k
)
|
=<
k
&
key
m
treeRetrieve
search_key
BT_Empty
=
No
treeRetrieve
search_key
tree
=:(
BT_Node
el
left
right
)
...
...
@@ -124,7 +124,7 @@ retrieveSignClassification :: ![SignClassification] !TypeClassification -> Optio
retrieveSignClassification
cons_classes
{
tc_signs
}
=
treeRetrieve
cons_classes
tc_signs
addSignClassification
::
![
SignClassification
]
!
SignClassification
!
TypeClassification
->
!
TypeClassification
addSignClassification
::
![
SignClassification
]
!
SignClassification
!
TypeClassification
->
TypeClassification
addSignClassification
hio_signs
sign_class
tc
=:{
tc_signs
}
=
{
tc
&
tc_signs
=
treeInsert
hio_signs
{
ts_cons_var_signs
=
hio_signs
,
ts_type_sign
=
sign_class
}
tc_signs
}
...
...
@@ -132,7 +132,7 @@ retrievePropClassification :: ![PropClassification] !TypeClassification -> Optio
retrievePropClassification
cons_classes
{
tc_props
}
=
treeRetrieve
cons_classes
tc_props
addPropClassification
::
![
PropClassification
]
!
PropClassification
!
TypeClassification
->
!
TypeClassification
addPropClassification
::
![
PropClassification
]
!
PropClassification
!
TypeClassification
->
TypeClassification
addPropClassification
hio_props
prop_class
tc
=:{
tc_props
}
=
{
tc
&
tc_props
=
treeInsert
hio_props
{
ts_cons_var_props
=
hio_props
,
ts_type_prop
=
prop_class
}
tc_props
}
...
...
frontend/utilities.dcl
View file @
4af77f09
...
...
@@ -65,7 +65,7 @@ map2St f l1 l2 st :== map2_st l1 l2 st
app2St
::
!(!.(.
a
->
.(.
st
->
(.
c
,.
st
))),!.(.
e
->
.(.
st
->
(.
f
,.
st
))))
!(.
a
,.
e
)
!.
st
->
(!(.
c
,.
f
),!.
st
)
mapAppendSt
::
!(.
a
->
.(.
b
->
(.
c
,.
b
)))
![.
a
]
!
u
:[.
c
]
!.
b
->
!
(!
u
:[.
c
],!.
b
)
mapAppendSt
::
!(.
a
->
.(.
b
->
(.
c
,.
b
)))
![.
a
]
!
u
:[.
c
]
!.
b
->
(!
u
:[.
c
],!.
b
)
strictMap
::
!(.
a
->
.
b
)
![.
a
]
->
[.
b
]
...
...
frontend/utilities.icl
View file @
4af77f09
...
...
@@ -113,7 +113,7 @@ mapAppend f [] tail
=
tail
mapAppendSt
::
!(.
a
->
.(.
b
->
(.
c
,.
b
)))
![.
a
]
!
u
:[.
c
]
!.
b
->
!
(!
u
:[.
c
],!.
b
)
mapAppendSt
::
!(.
a
->
.(.
b
->
(.
c
,.
b
)))
![.
a
]
!
u
:[.
c
]
!.
b
->
(!
u
:[.
c
],!.
b
)
mapAppendSt
f
[
x
:
xs
]
tail
s
#
(
x
,
s
)
=
f
x
s
(
xs
,
s
)
=
mapAppendSt
f
xs
tail
s
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new 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