CCSM Scanners

From Conqat

The CCSM scanners are a library with scanners (or lexers) for various programming languages. The scanners are used by ConQAT and other CCSM programming analysis applications.

Contents

Supported Languages

This library contains scanners (lexers) for the following languages:

  • ABAP
  • ADA
  • Cobol
  • C/C++
  • C#
  • Java
  • PL/I
  • PL/SQL
  • Python
  • Text
  • Visual Basic
  • XML

Download

CCSM Scanner library is released under Apache License 2.0. Latest version: 2.6

API Documentation

The API documentation can be found here.

History

Changes from version 2.5 to version 2.6

CR 2676 Remove platform dependency of multiple-EOL recognition of text scanner.
CR 2472 Create scanner that splits a text into words and punctuation
CR 2662 Create scanner for Python
CR 2663 Create scanner for tab replacement
CR 2515 Create XML scanner
CR 2560 Create PL/SQL scanner
CR 2551 CppScanner chrashes when #if/#endif occurs in comment
CR 2539 Build PL/SQL Scanner

Changes from version 2.0 to version 2.5

CR 2158 Create Ada Scanner
CR 2159 Refactor method fromFileExtension in class ELanguage
CR 2160 Move statement oracle to scanner library
CR 2218 ScannerTestBase.assertTokens: incomplete
CR 2219 ABAP scanner: Do we need EOL token?
CR 2338 Replace origin with file

Changes from version 1.3 to version 2.0

CR 1728 Deal with umlauten in COBOL Identifiers
CR 1731 COBOL: Support spaces in operator ^= between ^ and =
CR 1732 COBOL: Support ! operator
CR 1733 Lenient behaviour for unknown characters
CR 1740 Cobol scanner should support "-" in identifiers
CR 1758 Get rid of constructor workaround in scanners
CR 1770 COBOL Scanner should handle identification division as comment
CR 1778 C# scanner does not support unicode escape sequences
CR 1781 Move syntax highlighting facility for Swing from FJava to Scanner
CR 1934 Create ABAP Scanner

Changes from version 1.2 to version 1.3

CR 1475 PL/I scanner should treat newline as whitespace
CR 1561 PL/I Scanner cannot recognize comments that start /**
CR 1577 Create test-case that asserts number of first line is 0
CR 1640 IToken: make TokenType mutable

Changes from version 1.1 to version 1.2

JFlex is now part of the source distribution. The whole distribution can now be built and tested by running "ant test" in the scanner directory.
CR 462 CPP Scanner Smoke Tests
CR 999 Add smoke test data for PL1 and COBOL scanner.
CR 1321 PL/I smoke tests
CR 1467 PL/I scanner recognizes EndOfLine comments incorrectly

Changes from version 1.0 to version 1.1

CR 1132 UnicodeEscapes works ONLY with some readers


The scanners for Cobol and PL1 have been contributed by itestra GmbH