Go to the first, previous, next, last section, table of contents.

Naming Methods

As with general synthesis, Xconq has a number of naming methods available.

An implementation is free to define additional naming methods.

NamingMethod: random names......

This method picks a name from the given list of names and removes that name from the list

NamingMethod: junky

This method produces a gobbledy-gook name, very techy-looking.

NamingMethod: grammar root max-length rules...

This method defines a grammar, where root is the root symbol, max-length is a limit on the length of the generated names (in characters), and rules is a list of rules of the form

(symbol ([sym] [weight] symbol/string/list [n] ...))

The generation process works by substituting one of the rule's alternatives for the symbol, starting with the root symbol. The probability of an alternative being selected is arrived at by adding up the optional weights weight (assuming missing weights to be 1), and choosing with a probability of the weight divided by the total sum of weights. Thus the weights need not add up to any particular value.

Strings get used directly. If a symbol in the rule's chosen expansion does not appear as the lefthand side in any rule, then it will be handled as a string, otherwise it will be expanded in turn. If the symbol matches a namer's name, then that namer will be run (passing the same object??) and its result incorporated. A list should be a list of strings and symbols, and the expansion of each will be concatenated.

GlobalConstant: any

[???]

GlobalConstant: or

GlobalConstant: reject

A special rule headed by reject is a list of substrings that should not appear in a generated name; this is a convenient way to filter out particularly unlovely results.

GlobalConstant: capitalize

Directs capitalization of a nonterminal.

[text is not actually different from a namer?]

Form: text [symbol/id] method rejects...

[elsewhere?] GlobalVariable: action-messages patterns

GlobalVariable: event-messages patterns


Go to the first, previous, next, last section, table of contents.