W&R use the dot (.) for a dual purpose--both as the symbol for conjunction (the equivalent of the ampersand in contemporary symbolism), and also to denote scope (the equivalent of parentheses in contemporary symbolism). "Dots on the line of the symbols have two uses, one to bracket off propositions, the other to indicate the logical product of two propositions" (PM 9).
On this they say:
Dots immediately preceded or followed by “v” or “⊃” or “≡” or “⊢”, or by “(x)”, “(x,y)”, “(x,y,z)” … or “(∃x)”, “(∃x,y)”, “(∃x,y,z)” … or “[(x)(φx)]” or “[R‘y]” or analogous expressions, serve to bracket off a proposition; dots occurring otherwise serve to mark a logical product. The general principle is that a larger number of dots indicates an outside bracket, a smaller number indicates an inside bracket. The exact rule as to the scope of the bracket indicated by dots is arrived at by dividing the occurrences of dots into three groups which we will name I, II, and III. Group I consists of dots adjoining a sign of implication (⊃) or equivalence (≡) or of disjunction (v) or of equality by definition (=Df). Group II consists of dots following brackets indicative of an apparent variable, such as (x) or (x,y) or (∃x) or (∃x,y) or [(x)(φx)] or analogous expressions. Group III consists of dots which stand between propositions in order to indicate a logical product. Group I is of greater force than Group II, and Group II than Group III. The scope of the bracket indicated by any collection of dots extends backwards or forwards beyond any smaller number of dots, or any equal number from a group of less force, until we reach either the end of the asserted proposition or a greater number of dots or an equal number belonging to a group of equal or superior force. Dots indicating a logical product have a scope which works both backwards and forwards; other dots only work away from the adjacent sign of disjunction, implication, or equivalence, or forward from the adjacent symbol of one of the other kinds enumerated in Group II (PM 9-10).
There are several observations one must make here. First, the highest group (the one with the most "force") consists of the disjunction, the material implication and material equivalence, plus the definition relation and the assertion sign. The conjunction seems to lack the standing that the other three binary operators have. (One should interpret this as a convention, not as a rule with is provided by deeper philosophical reasons--since the operators are inter-definable in PM). So when one sees dots flanking an operator, those are the ones of highest priority.
The next level are those of "apparent variables" (or, as one might call them: "bound" variables). Only then do we reach the conjunction operator itself, at the lowest level of force.
Secondly, there are four possible configuration of dots themselves:., :, : ., : : Each configuration is a higher level, like round brackets (parentheses), square brackets and curly brackets.
The problem is, that when a conjunction is used, the dots indicating parentheses do not jump to a higher number of dots. Consider:
*3·12 ⊢ : ~p . v . ~q . v . p . q
Recall the rule: "The scope of the bracket indicated by any collection of dots extends backwards or forwards beyond any smaller number of dots, or any equal number from a group of less force, until we reach either the end of the asserted proposition or a greater number of dots or an equal number belonging to a group of equal or superior force." The double dots after the assertion sign indicate the scope of the entire wff. the second set of dots around the first disjunction are read afterward, and since that's a Group I type, it takes prominence. They extend to the next (third) single dot, of equal group, around the second disjunction. It's not easy to see at first--but the fifth dot is a conjunction, not a scope mark. So it should be read as:
⊢ [(~p v ~q)] v (p & q)]