Name

aegis — file format

DESCRIPTION

The files used by the aegis program all have the same format. Some of the files used by aegis are created and maintained by humans, and some are created an maintained by aegis itself. The various manual entries say which is which.

LEXICAL CONSIDERATIONS

Names are any C identifier. Comments are C-style comments (or C++ or shell). Numbers are decimal, octal or hexadecimal, as for C constants. Whitespace (spaces, tabs and newlines) are ignored except in strings or as they serve to separate tokens.

Strings are C-style strings, and similar to C, sequential string constants are silently catenated together.

In addition, there is a style of @string@ which use at-signs (@) for quoting. Unlike the C style of string, newlines are allowed within these strings. To get an at-sign in such a string, double the at-sign. There is no other escape mechanism available.

GRAMMAR

The format of all aegis files is described by a yacc (1) grammar.


%%
file
: field_list
;

A file contains a field list.


field_list
: /* empty */
| field_list field
;

A field list is zero or more fields.


field
: NAME '=' value ';'
;

A field is set by giving a name and a value.

value
	: NAME
	| INTEGER
	| STRING
	| structure
	| list
	;

A value may be a member of an enumeration (NAME), or an integer constant, or a literal string. More complex values may be constructed from these simple values.

structure
	: '{' field_list '}'
	;

A structure is a grouped list of fields.


list
: '[' list_body ']'
;
list_body
: /* empty */
| value_list
| value_list ','
;
value_list
: value
| value_list ',' value

A list is a sequential list of values separated by commas. It may be empty, or it may have a trailing comma.

SEMANTICS

The types of the values must match those in the definition of the file. See the relevant man pages for more information.

Files which are rewritten by aegis will lose any comments placed in them. When time fields are emitted by aegis they are usually followed by a human readable date in a comment.

SEE ALSO

aegis(1)

a project change supervisor

aecattr(5)

change attribute file format

aecstate(5)

change state file format

aedir(5)

directory structures

aegstate(5)

aegis state file

aepattr(5)

project attribute file format

aepconf(5)

project configuration file format

aepstate(5)

project state file format

aesub(5)

available command substitutions

aeuconf(5)

user configuration file format

aeustate(5)

user state file format

COPYRIGHT

aegis version 4.22 Copyright (C) 1991-2006 Peter Miller; All rights reserved.

The aegis program comes with ABSOLUTELY NO WARRANTY; for details use the 'aegis -VERSion License' command. This is free software and you are welcome to redistribute it under certain conditions; for details use the 'aegis -VERSion License' command.

AUTHOR

Peter MillerE-Mail:millerp@canb.auug.org.au
/\/\*WWW:http://www.canb.auug.org.au/~millerp/