Axaptapedia is now maintained by AgileCadence For more information please click here.
ScannerClass class
From Axaptapedia
Introduction[edit]
ScannerClass provides lexical parsing capabilities for X++.
You can perform such tasks as removing all comments from your code or find some keyword in your X++ source.
There is also ParserClass class providing interface to the syntax parsing for X++
Usage[edit]
- Provide your X++ code as a constructor parameter.
- include TokenTypes macro to handle various token types
- call firstSymbol method to scan to the first token - return value is type of the first token
- call nextSymbol method for further processing until it returns 0
- subclass ScannerClass to handle comments (override comment and lineComment methods)
Example[edit]
<xpp>
#TokenTypes
int token;
ScannerClass s=new ScannerClass(
"void /*test*/new(){int a=1.23;return \"my string\";}");
;
token=s.firstSymbol();
while(token)
{
info(strFmt("%1, %2: '%3', %4",
s.line(),s.col(),
s.string(), token==#DBL_SYM?s.realValue():0.0));
token=s.nextSymbol();
}
</xpp> download (4k) more extended example with comments handling