No announcement yet.

Grammar Item Case Sensitivity

  • Time
  • Show
Clear All
new posts

  • Grammar Item Case Sensitivity

    In the Grammar Item window, there seem to be two ways of defining an item to be case sensitive. One is inside the box where the text is entered labeled "Match character case". The other is outside the box labeled "This element is case sensitive". I can't figure out which one takes precedence.

    This is true for Categories Basic, Delimited and List but not for Columns.

    BC 3.0 build 455

    Last edited by ChrisGregg; 07-May-2008, 04:52 PM. Reason: added build number

  • #2
    "Match character case" is used in the classification of text. If you define a keyword "apple" with this feature on, "APPLE" will not be considered a keyword.

    "This element is case sensitive" affects how the text is compared. If this feature is off, case differences in this element will be considered unimportant.
    Erik Scooter Software


    • #3
      So in case sensitive languages, if I'm defining a keyword for the language, BOTH boxes should be checked, correct?


      • #4
        Erik Scooter Software


        • #5
          pardon my french, but... "booo!"

          1. bc3 refused to import my custom rules from bc2,
          2. while manually trying to recreate my bc2 custom rules in bc3 i failed to find a way to define "unimportant text" despite investing more than 1 minute in looking for ways to do it
          3. i found myself staring at the two checkboxes ChrisGregg mentioned, saying to myself "ah! that's a bug to report!"

          i only found this thread because i didn't want to open a duplicate bug report thread, so i searched first.

          i don't know what whoever slapped both checkboxes in that dialog had on his mind when he did that, but that's 3 usability problems too many right off the bat, folks. and if you somehow think that average bc3 users will be significantly smarter than i am (and... um... ChrisGregg apparently is) and will just figure this out on their own, i'm afraid you might be either underestimating my and ChrisGregg's intelligence, or overestimating other users' intelligence.

          do you know what i mean?


          • #6

            Thanks for the feedback.

            * Transferring Rules from BC2 to BC3:

            Rules have changed significantly from BC2 to BC3, so it wouldn't be trivial to have a rules import. I saw that Erik asked you to email us a copy of your BC2 settings in another thread, we'll take a look at that email and try to help reproduce those settings in BC3.

            * Defining Unimportant Text:

            Again, thanks for the feedback. We agree that this needs work. We will revise this before the official release of BC3.

            * Here's an example of how to define unimportant text in the current version of BC3 build 455:

            This example will ignore copyright dates such as "Copyright 1995" in C++ source files.

            First, define a new grammar item for the current file format.
            Select Tools|File Formats from the menu.
            Select the C,C++,C# Source format.
            Go to the Grammar tab.
            Click New.
            Name the element "Copyright".
            Use the category "Basic".
            Check "Regular Expression".
            Enter the regular expression "Copyright \d{4}".
            Click OK, then Save the edited format.

            Editing the file format defines what a "Copyright" is.

            Next you need to say that "Copyright" is unimportant.

            With the files open in the Text View, select Session|Session Settings.
            Go to the Importance tab.
            Uncheck "Copyright" and click OK.

            This will ignore the text differences.

            In summary, File Formats contain grammar elements. Grammar elements define what text is, such as comments, dates, etc. Once you've defined those elements, you define if they are important or unimportant in the session settings.

            Again, sorry that this process is awkward. We've redesigned this multiple times, and we plan to work on it again before the official 3.0 release.
            Chris K Scooter Software