00001
00002
00003
00004
00005
00006
00007 #ifndef __cmt_parser_h__
00008 #define __cmt_parser_h__
00009
00010
00011
00012
00013
00014 typedef enum
00015 {
00016 Csh,
00017 Sh,
00018 Bat,
00019 Make
00020 } PrintMode;
00021
00022 typedef enum
00023 {
00024 mgr_style,
00025 cmt_style,
00026 no_version_style,
00027 none_style
00028 } CmtDirStyle;
00029
00030 typedef enum
00031 {
00032 with_version_directory,
00033 without_version_directory
00034 } CmtStructuringStyle;
00035
00036 typedef enum
00037 {
00038 default_filtering_mode,
00039 block_private_uses,
00040 reach_private_uses
00041 } CmtScopeFilteringMode;
00042
00043
00044
00045
00046 typedef enum
00047 {
00048 CommandNone,
00049 CommandAction,
00050 CommandAlias,
00051 CommandApplication,
00052 CommandApplyPattern,
00053 CommandApplyTag,
00054 CommandAuthor,
00055 CommandBranches,
00056 CommandBuildStrategy,
00057 CommandCleanupScript,
00058 CommandCmtPathPattern,
00059 CommandDocument,
00060 CommandEndPrivate,
00061 CommandEndPublic,
00062 CommandIgnorePattern,
00063 CommandIncludeDirs,
00064 CommandIncludePath,
00065 CommandLanguage,
00066 CommandLibrary,
00067 CommandMacro,
00068 CommandMacroPrepend,
00069 CommandMacroAppend,
00070 CommandMacroRemove,
00071 CommandMacroRemoveRegexp,
00072 CommandMacroRemoveAll,
00073 CommandMacroRemoveAllRegexp,
00074 CommandMakeFragment,
00075 CommandManager,
00076 CommandPackage,
00077 CommandPath,
00078 CommandPathAppend,
00079 CommandPathPrepend,
00080 CommandPathRemove,
00081 CommandPathRemoveRegexp,
00082 CommandPattern,
00083 CommandPrivate,
00084 CommandProject,
00085 CommandPublic,
00086 CommandSet,
00087 CommandSetAppend,
00088 CommandSetPrepend,
00089 CommandSetRemove,
00090 CommandSetRemoveRegexp,
00091 CommandSetupScript,
00092 CommandSetupStrategy,
00093 CommandTag,
00094 CommandTagExclude,
00095 CommandUse,
00096 CommandVersion,
00097 CommandVersionStrategy,
00098 Commands
00099 } CommandType;
00100
00101
00102
00103
00104
00105
00106
00107 typedef enum
00108 {
00109 DeveloperMode,
00110 UserMode
00111 } AccessMode;
00112
00113 typedef enum
00114 {
00115 ScopeUnspecified,
00116 ScopePublic,
00117 ScopePrivate
00118 } ScopeType;
00119
00120 typedef enum
00121 {
00122 Unspecified = -1,
00123 Off = 0,
00124 On = 1
00125 } State;
00126
00127 typedef enum
00128 {
00129 PriorityLowest = 0,
00130 PriorityDefault = 1,
00131 PriorityVersion = 2,
00132 PriorityUname = 3,
00133 PrioritySite = 4,
00134 PriorityUserTag = 5,
00135 PriorityTag = 6,
00136 PriorityConfig = 7,
00137 PriorityArgument = 8
00138 } Priority;
00139
00140 typedef enum
00141 {
00142 SetupScript,
00143 CleanupScript
00144 } ScriptType;
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154 typedef enum
00155 {
00156 Prototypes = 0x1,
00157 NoPrototypes = Prototypes << 1,
00158 DefaultPrototypesStrategy = Prototypes,
00159 PrototypesMask = Prototypes | NoPrototypes,
00160
00161 WithInstallArea = NoPrototypes << 1,
00162 WithoutInstallArea = WithInstallArea << 1,
00163 DefaultInstallAreaStrategy = WithoutInstallArea,
00164 InstallAreaMask = WithInstallArea | WithoutInstallArea,
00165
00166 BuildStrategyMask = PrototypesMask | InstallAreaMask,
00167
00168 DefaultBuildStrategy = DefaultPrototypesStrategy | DefaultInstallAreaStrategy
00169 } BuildStrategy;
00170
00171 typedef enum
00172 {
00173 SetupConfig = 0x1,
00174 SetupNoConfig = SetupConfig << 1,
00175 SetupConfigMask = SetupConfig | SetupNoConfig,
00176
00177 SetupRoot = SetupNoConfig << 1,
00178 SetupNoRoot = SetupRoot << 1,
00179 SetupRootMask = SetupRoot | SetupNoRoot,
00180
00181 SetupCleanup = SetupNoRoot << 1,
00182 SetupNoCleanup = SetupCleanup << 1,
00183 SetupCleanupMask = SetupCleanup | SetupNoCleanup,
00184
00185 SetupStrategyMask = SetupConfigMask | SetupRootMask | SetupCleanupMask,
00186
00187 DefaultSetupStrategy = SetupConfig | SetupRoot | SetupCleanup
00188 } SetupStrategy;
00189
00190 typedef enum
00191 {
00192 Application,
00193 Library,
00194 Document
00195 } ConstituentType;
00196
00197
00198
00199
00200 typedef enum
00201 {
00202 action_none,
00203 action_awk,
00204 action_broadcast,
00205
00206 action_build,
00207
00208 action_build_constituent_makefile,
00209 action_build_constituents_makefile,
00210 action_build_dependencies,
00211 action_build_library_links,
00212 action_build_make_setup,
00213 action_build_msdev,
00214 action_build_CMT_pacman,
00215
00216 action_build_vsnet,
00217 action_build_os9_makefile,
00218 action_build_prototype,
00219 action_build_readme,
00220 action_build_tag_makefile,
00221 action_build_temporary_name,
00222 action_build_triggers,
00223 action_build_windefs,
00224
00225 action_check,
00226
00227 action_check_configuration,
00228 action_check_files,
00229 action_check_version,
00230 action_checkout,
00231 action_cleanup,
00232 action_config,
00233 action_create,
00234 action_create_project,
00235 action_cvsbranches,
00236 action_cvssubpackages,
00237 action_cvssubprojects,
00238 action_cvstags,
00239 action_do,
00240 action_expand_model,
00241 action_filter,
00242 action_help,
00243 action_load,
00244 action_lock,
00245 action_remove,
00246 action_remove_library_links,
00247 action_run,
00248 action_run_sequence,
00249
00250 action_set_version,
00251 action_set_versions,
00252
00253 action_setup,
00254
00255 action_show,
00256
00257 action_show_action,
00258 action_show_action_value,
00259 action_show_action_names,
00260 action_show_actions,
00261 action_show_all_tags,
00262 action_show_applied_patterns,
00263 action_show_author,
00264 action_show_branches,
00265 action_show_clients,
00266 action_show_cmtpath_patterns,
00267 action_show_constituent,
00268 action_show_constituent_names,
00269 action_show_constituents,
00270 action_show_cycles,
00271 action_show_fragment,
00272 action_show_fragments,
00273 action_show_groups,
00274 action_show_include_dirs,
00275 action_show_language,
00276 action_show_languages,
00277 action_show_macro,
00278 action_show_macro_value,
00279 action_show_macro_names,
00280 action_show_macros,
00281 action_show_manager,
00282 action_show_packages,
00283 action_show_path,
00284 action_show_pattern,
00285 action_show_pattern_names,
00286 action_show_patterns,
00287 action_show_projects,
00288 action_show_setup,
00289 action_show_pwd,
00290 action_show_set,
00291 action_show_set_names,
00292 action_show_set_value,
00293 action_show_sets,
00294 action_show_strategies,
00295 action_show_tags,
00296 action_show_use_paths,
00297 action_show_uses,
00298 action_show_version,
00299 action_show_versions,
00300
00301 action_system,
00302 action_unlock,
00303 action_version
00304 } ActionType;
00305
00306 #define SLASH '/'
00307
00308 class Use;
00309 typedef Use* UseRef;
00310
00311 #include "cmt_std.h"
00312 #include "cmt_string.h"
00313 #include "cmt_vector.h"
00314 #include "cmt.h"
00315
00316 #endif