{note-name}[#|b][^/]* [ '/' {note-name}[#|b][^/]* ]
That is, a valid note name, possibly followed by '#' or 'b', followed by other modifier ('7', 'm', etc...). Many such construct can make up a chord name, as long as they are separated by '/'.
{note-name} must appear in the list 'A','B','C','D','E','F','G'.
Directives that appear between french brackets ('{' and '}') have a special meaning. They must be alone on a line. Blanks before the opening bracket and after the closing bracket are not significant.
Blanks inside a directive are not significant (except inside one of the comments directives).
Supported directives are:
The keyword "frets" then appears and is followed by 6 values. These values are the fret number [ 1 to n ] for each string [str1 to str6] and are RELATIVE to the offset. A value of "-", "X" or "x" indicates a string that is not played.
Keywords base-fret and frets are mandatory.
A value of 0 for a given string means it is to be played open, and will be marked by a small open circle above the string in the grid. The strings are numbered in ascending order of tonality, starting on the low E (the top string). On output, a chord defined in the user's .chordrc file will have a small asterisk near its grid, a chord defined in a song will have two small asterixes.
At the beginning of every song, the default chords are re-loaded and the user's .chordrc file is re-read. Chord definition of new chords inside the text of a song are only valid for that song.
The syntax of a {define} directive has been modified in CHORD 3.5. CHORD will attempt to recognize an old-formar {define} and will accept it. It will, though, print a warning inviting you to modify your input file to use the new syntax (the exact {define} entry to use is provided as an example).
All keywords are case independent.