diff options
author | ronny | 2001-11-01 15:30:29 +0000 |
---|---|---|
committer | ronny | 2001-11-01 15:30:29 +0000 |
commit | b1de57220ddc6025e3731f2579549866b058f134 (patch) | |
tree | b763d1a4973f25211579f296176278ce68e8eadd /frontend | |
parent | added --dump-args and --restore-args options (diff) |
pass strictness information from C to Clean, print strict exported and all types in Clean
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@877 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'frontend')
-rw-r--r-- | frontend/frontend.dcl | 7 | ||||
-rw-r--r-- | frontend/frontend.icl | 17 | ||||
-rw-r--r-- | frontend/syntax.dcl | 1 | ||||
-rw-r--r-- | frontend/syntax.icl | 1 |
4 files changed, 26 insertions, 0 deletions
diff --git a/frontend/frontend.dcl b/frontend/frontend.dcl index 2810e58..4b23a06 100644 --- a/frontend/frontend.dcl +++ b/frontend/frontend.dcl @@ -28,5 +28,12 @@ import checksupport, transform, overloading | FrontEndPhaseConvertModules | FrontEndPhaseAll +:: ListTypesKind = ListTypesNone | ListTypesInferred | ListTypesStrictExports | ListTypesAll +:: ListTypesOption = + { lto_showAttributes :: Bool + , lto_listTypesKind :: ListTypesKind + } +instance == ListTypesKind + frontEndInterface :: !FrontEndOptions !Ident !SearchPaths !{#DclModule} !*{#*{#FunDef}} !(Optional Bool) !*PredefinedSymbols !*HashTable (ModTimeFunction *Files) !*Files !*File !*File !*File (!Optional !*File) !*Heaps -> ( !Optional *FrontEndSyntaxTree,!*{#*{#FunDef}},!{#DclModule},!Int,!Int,!*PredefinedSymbols, !*HashTable, !*Files, !*File, !*File, !*File, !Optional !*File, !*Heaps) diff --git a/frontend/frontend.icl b/frontend/frontend.icl index 2c5fe9a..d2c4a3d 100644 --- a/frontend/frontend.icl +++ b/frontend/frontend.icl @@ -396,4 +396,21 @@ where show_dcl_function {ft_symb, ft_type} file = file <<< ft_symb <<< " :: " <<< ft_type <<< "\n" + +:: ListTypesKind = ListTypesNone | ListTypesInferred | ListTypesStrictExports | ListTypesAll +:: ListTypesOption = + { lto_showAttributes :: Bool + , lto_listTypesKind :: ListTypesKind + } +instance == ListTypesKind where + (==) ListTypesNone ListTypesNone + = True + (==) ListTypesInferred ListTypesInferred + = True + (==) ListTypesStrictExports ListTypesStrictExports + = True + (==) ListTypesAll ListTypesAll + = True + (==) _ _ + = False
\ No newline at end of file diff --git a/frontend/syntax.dcl b/frontend/syntax.dcl index 32fc53e..1669b95 100644 --- a/frontend/syntax.dcl +++ b/frontend/syntax.dcl @@ -909,6 +909,7 @@ cNonRecursiveAppl :== False | AVI_Used | AVI_Count !Int /* auxiliary used in module typesupport */ | AVI_SequenceNumber !Int // RWS + | AVI_Collected // RWS :: AttrVarInfoPtr :== Ptr AttrVarInfo :: AttrVarHeap :== Heap AttrVarInfo diff --git a/frontend/syntax.icl b/frontend/syntax.icl index e60a9c3..0d4957e 100644 --- a/frontend/syntax.icl +++ b/frontend/syntax.icl @@ -888,6 +888,7 @@ cNotVarNumber :== -1 | AVI_Used | AVI_Count !Int /* auxiliary used in module typesupport */ | AVI_SequenceNumber !Int // RWS + | AVI_Collected // RWS :: AttrVarInfoPtr :== Ptr AttrVarInfo :: AttrVarHeap :== Heap AttrVarInfo |