AbsSyn.dcl 1.48 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
29
30
31
32
33
34
35
  |  ProjectHelp

:: PathAction
  =  AddPathAction String
  |  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
	| DescExLOn
	| DescExLOff
48
49
	| HeapSize !Int
	| StackSize !Int
50
	| Output !Output
51
52
	| LinkerGenerateSymbolsOn
	| LinkerGenerateSymbolsOff
53

54
55
56
57
58
59
60
61
62
:: ModuleAction
  =  CreateModule ModuleType
  |  ModuleHelp

:: ModuleType
  =  ApplicationModule
  |  LibraryModule

:: EnvironmentAction
63
64
65
66
67
68
69
70
71
72
73
  =  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