Results 1 to 2 of 2
  1. #1
    Join Date
    Nov 2012
    Posts
    1

    Default Grammar rule that can handle multiple lines

    I'm trying to write a grammar rule to specify that smake-line opening brace and next-line opening brace are unimportant differences e.g.

    module A1_3_data_classes_prov_ext_2 {

    /* Anonymous documentation */

    and

    module A1_3_data_classes_prov_ext_2
    {

    // Anonymous documentation

    I can get the expression to detect space + { + newline for the top one but putting the rule in for the bottom one - which would be newline + { + newline doesn't work. Here are the two regexps I've used:

    \s+[{]\xd\s*

    That one works

    [{]\xd+

    That's what I'm having to use for the second one but really I want it to look like this:

    \xd[{]\xd+

    so that it detects the newline before the brace.

    Am I doing something wrong or is BC3 not able to handle this sort of thing?

    Many thanks for any help you can provide

  2. #2
    Join Date
    Oct 2007
    Location
    Madison, WI
    Posts
    11,366

    Default

    Hello,

    The RegEx cannot span multiple lines, but if you want to define that any { at the beginning of a line is unimportant, you can use:
    ^[{]
    or
    ^\s*[{]

    Line breaks that separate text are always important since we align by line. Alternatively, you could use an external conversion to Tidy your data, so your brackets are in the same locations. We have a couple of these formats for download on our Alternatives download page, such as Java Tidied:
    http://www.scootersoftware.com/downl...kb_moreformats

    Or an Example KB article, here:
    http://www.scootersoftware.com/suppo...rnalconversion

    Please note that saving a converted file will save the text in the new format.
    Aaron P Scooter Software

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •