AbsSyn.dcl 1.46 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
20
  |  CpmHelp

:: ProjectAction
  =  CreateProject
  |  ShowProject
  |  BuildProject Bool FilePath
  |  ProjectPath PathAction
21
  |  SetRelativeRoot String
22
23
  |  SetTarget String
  |  SetExec String
24
  |  SetProjectOptions [ProjectOption]
25
26
27
28
29
30
31
32
33
34
  |  ProjectHelp

:: PathAction
  =  AddPathAction String
  |  RemovePathAction Int
  |  ListPathsAction
  |  MovePathAction Int PathDirection
  |  PathHelp

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

40
41
42
:: ProjectOption
	= DynamicsOn
	| DynamicsOff
43
44
	| GenericFusionOn
	| GenericFusionOff
45
46
	| DescExLOn
	| DescExLOff
47
48
	| HeapSize !Int
	| StackSize !Int
49
	| Output !Output
50
51
	| LinkerGenerateSymbolsOn
	| LinkerGenerateSymbolsOff
52

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

:: ModuleType
  =  ApplicationModule
  |  LibraryModule

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