AbsSyn.dcl 1.62 KB
Newer Older
1
2
definition module AbsSyn

3
4
:: FilePath:==Pathname
from PmTypes import ::Pathname,::Output
5
6
7
8
9
10
11
12

/**
 * Datatypes
 */
:: CpmAction
  =  Project FilePath ProjectAction
  |  Module String ModuleAction
  |  Environment EnvironmentAction
13
  |  CpmMake
14
15
16
17
18
19
  |  CpmHelp

:: ProjectAction
  =  CreateProject
  |  ShowProject
  |  BuildProject Bool FilePath
20
  |  Compile [String]
21
  |  ProjectPath PathAction
22
  |  SetRelativeRoot String
23
24
  |  SetTarget String
  |  SetExec String
25
  |  SetProjectOptions [ProjectOption]
26
27
28
  |  ProjectHelp

:: PathAction
29
  =  AddPathAction [String]
30
31
32
33
34
35
  |  RemovePathAction Int
  |  ListPathsAction
  |  MovePathAction Int PathDirection
  |  PathHelp

:: PathDirection
36
37
38
39
  =  MovePathUp
  |  MovePathDown
  |  MovePathTop
  |  MovePathBottom
40

41
42
43
:: ProjectOption
	= DynamicsOn
	| DynamicsOff
44
45
	| GenericFusionOn
	| GenericFusionOff
46
47
	| RTSFlagsOn
	| RTSFlagsOff
Mart Lubbers's avatar
Mart Lubbers committed
48
49
50
51
52
53
	| StackTraceOn
	| StackTraceOff
	| TimeProfileOn
	| TimeProfileOff
	| MemoryProfileOn
	| MemoryProfileOff
54
55
	| DescExLOn
	| DescExLOff
56
57
	| HeapSize !Int
	| StackSize !Int
58
	| Output !Output
59
60
	| LinkerGenerateSymbolsOn
	| LinkerGenerateSymbolsOff
61

62
63
64
65
66
67
68
69
70
:: ModuleAction
  =  CreateModule ModuleType
  |  ModuleHelp

:: ModuleType
  =  ApplicationModule
  |  LibraryModule

:: EnvironmentAction
71
72
73
74
75
76
77
78
79
80
81
  =  ListEnvironments
  |  ImportEnvironment FilePath
  |  RemoveEnvironment String
  |  ShowEnvironment String
  |  ExportEnvironment String
  |  CreateEnvironment String
  |  RenameEnvironment String String
  |  SetEnvironmentCompiler String String
  |  SetEnvironmentCodeGen String String
  |  EnvironmentHelp
  // TODO: EnvironmentPaths, EnvironmentVersion, EnvironmentProcessor, Environment64BitProcessor