1. A method of analyzing software code written in a column based programming language defined by a first grammar, said first grammar of said column based programming language specifying a plurality of constructs, each construct being required by said first grammar to start at a pre-specified column position in lines constituting the software code, said method being performed in a digital processing system, said method comprising: providing, on a display unit, a visual interface designed to receive values identifying constructs of said column based programming language; receiving, from a user using said visual interface, a first set of values corresponding to a first construct of interest; generating, based on said first set of values and said first grammar of said column based programming language, a first rule indicating a string of characters that would constitute said first construct of interest, said first rule further indicating a first set of column positions at which lines of said software code are to be examined for the presence of said first construct of interest; and identifying, by applying said first rule to said software code, a first plurality of blocks in said software code, wherein each of said first plurality of blocks including lines matching said string of characters starting at said first set of column positions indicated by said first rule, wherein said first plurality of blocks respectively represent corresponding occurrences of said first construct of interest in said software code, wherein said generating incorporates said first set of column positions in said first rule based on said first grammar of said column based programming language without said user having to specify said first set of column positions.