SWT LPEX
v3.0.5

com.ibm.lpex.fortran
Class FortranParser

java.lang.Object
  extended bycom.ibm.lpex.core.LpexCommonParser
      extended bycom.ibm.lpex.fortran.FortranParser
All Implemented Interfaces:
LpexConstants, LpexParser

public class FortranParser
extends LpexCommonParser

Base document parser for Fortran. It uses the free-source-form lexer FortranFFLexer. Extend to use a different Fortran lexer.

Editor actions and assigned keys added by this document parser:

Keys already defined (for example, by the active base editor profile and by the user profile) to an action different from nullAction are not redefined in here.

Editor action modified by this document parser:


Field Summary
 
Fields inherited from class com.ibm.lpex.core.LpexCommonParser
ATTRIBUTES_COMMENT, ATTRIBUTES_COMMENT_KEYWORD, ATTRIBUTES_COMMENT1, ATTRIBUTES_DEFAULT, ATTRIBUTES_DIRECTIVE, ATTRIBUTES_ERROR, ATTRIBUTES_KEYWORD, ATTRIBUTES_KEYWORD1, ATTRIBUTES_LIBRARY, ATTRIBUTES_NONSOURCE, ATTRIBUTES_NUMERAL, ATTRIBUTES_STRING, ATTRIBUTES_STRING1, BACKGROUND_COLOR, CLASS_MESSAGE, LANGUAGE_CCPP, LANGUAGE_CICS, LANGUAGE_CL, LANGUAGE_COBOL, LANGUAGE_DDS, LANGUAGE_DLI, LANGUAGE_FORTRAN, LANGUAGE_HLASM, LANGUAGE_HTML, LANGUAGE_JAVA, LANGUAGE_JCL, LANGUAGE_LISP, LANGUAGE_PERL, LANGUAGE_PLI, LANGUAGE_REXX, LANGUAGE_RPG, LANGUAGE_SABRETALK, LANGUAGE_SQL, LANGUAGE_XMI, LANGUAGE_XML, LANGUAGE_XSL, LEXER_RC_END, LEXER_RC_EOF, LEXER_RC_MORE, LEXER_RC_OK, POPUP_END, POPUP_FILTERVIEW, POPUP_SOURCE, POPUP_TOP, PROTOKEY_EMPTY, STYLE_MESSAGE, STYLE_NAME, view
 
Fields inherited from interface com.ibm.lpex.core.LpexConstants
HELP_COMMAND_MAP, LPEX_VERSION, MSG_POPUP_ERRORS, MSG_POPUP_EXCLUDESELECTION, MSG_POPUP_FILTERVIEWMENU, MSG_POPUP_INSERTMENU, MSG_POPUP_SELECTEDMENU, MSG_POPUP_SHOWALL, MSG_POPUP_SOURCEMENU, PARSE_PENDING_CHANGE_MASK, PARSE_PENDING_INSERT_MASK, PARSE_PENDING_NEXT_DELETED_MASK, PARSE_PENDING_NEXT_SHOW_DELETED_MASK, PARSE_PENDING_PREV_DELETED_MASK, PARSE_PENDING_PREV_SHOW_DELETED_MASK, PLATFORM_AWT, PLATFORM_SWT, PLATFORM_SWT_KEY, STATUS_FILE_ERRORREADING, STATUS_FILE_INCORRECTENCODING, STATUS_FILE_NOTFOUND, STATUS_FINDTEXT_INVALIDPATTERN, STATUS_FINDTEXT_NOTFOUND, STATUS_FINDTEXT_ONLYOCCURRENCE, STATUS_FINDTEXT_READONLY, STATUS_FINDTEXT_WRAPPED, STATUS_LOCATE_NOSEQUENCETEXT, STATUS_LOCATE_NOTFOUND, STATUS_LOCATE_WRAPPED, STATUS_SAVE_CANCELLED, STATUS_SAVE_FAILED, STATUS_TEXTLIMIT_ENFORCED
 
Constructor Summary
FortranParser(LpexView lpexView)
          Constructor.
 
Method Summary
 String getCommentStyleCharacters()
          Returns the style characters used for styling comments and remarks ("cr").
protected  IFortranLexer getFortranLexer(LpexCharStream charStream, FortranLexerStyles lexerStyles, FortranLexerClasses lexerClasses)
          Returns the Fortran lexer to be used by this parser.
 String getLanguage()
          Returns "Fortran", the language supported by this parser.
protected  String getPopupItems(int popupLocation)
          Returns this parser's contribution to the popup.
 ResourceBundle getProfile()
          Returns the parser's properties profile resource bundle.
 boolean isTokenDelimiter(char ch)
          Returns true if the specified character is a token delimiter.
 void parseAll()
          Total parse of the entire document.
 void parseElement(int element)
          Incremental parse.
 void setStyleAttributes()
          Defines this parser's style attributes.
 
Methods inherited from class com.ibm.lpex.core.LpexCommonParser
addDocumentMessage, addMessage, addMessage, addMessage, blockMarkWord, copyDocumentMessages, cursorIndent, defineFilterAction, expandProtoKeyword, getInstallStyleAttributes, getLanguage, getLshToken, getPopupParserItems, getPopupViewItems, getProperty, getStyleName, getStyles, getTextIndent, getToken, getTokenLocation, indentText, indentText, indentText, isDebuggable, lineComment, lpexView, matchToken, newLine, openLine, parse, propertySet, removeDocumentMessages, removeMessages, removeMessages, resetParser, setProperty, setStyle, splitLine, styleString, terminateParser, tokenBegin, tokenEnd, totalParse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FortranParser

public FortranParser(LpexView lpexView)
Constructor. Adds all of the parser specifics to the LPEX document view. Initializes the Lpex view for the parser: it sets up all the style attributes, classes, etc. for the language-sensitive edit features supported.

Parameters:
lpexView - the LPEX document view associated with this parser
Method Detail

getFortranLexer

protected IFortranLexer getFortranLexer(LpexCharStream charStream,
                                        FortranLexerStyles lexerStyles,
                                        FortranLexerClasses lexerClasses)
Returns the Fortran lexer to be used by this parser. The default implementation of this method returns a new FortranFFLexer (the free-source-form Fortran lexer). To use a different lexer, override this method.


parseAll

public void parseAll()
Total parse of the entire document. Done initially, after a document has been loaded in LPEX, and after an updateProfile command.

Specified by:
parseAll in class LpexCommonParser
See Also:
Total and incremental parse

parseElement

public void parseElement(int element)
Incremental parse.

Specified by:
parseElement in class LpexCommonParser
Parameters:
element - an element affected by a committed change in this view
See Also:
LpexView.parsePending(int), LpexView.elementParsed(int), Total and incremental parse

getProfile

public ResourceBundle getProfile()
Returns the parser's properties profile resource bundle.

Overrides:
getProfile in class LpexCommonParser
See Also:
LpexCommonParser.getProperty(java.lang.String), Parser properties

getLanguage

public String getLanguage()
Returns "Fortran", the language supported by this parser.

Overrides:
getLanguage in class LpexCommonParser
See Also:
LpexCommonParser.LANGUAGE_FORTRAN

getPopupItems

protected String getPopupItems(int popupLocation)
Returns this parser's contribution to the popup. This parser contributes to the Filter view submenu (Functions, Logic outline, Errors) and to the Source submenu (Comment, Uncomment).

Overrides:
getPopupItems in class LpexCommonParser
Parameters:
popupLocation - the location on the pop-up menu of the items requested, one of:
LpexCommonParser.POPUP_TOP, LpexCommonParser.POPUP_FILTERVIEW, LpexCommonParser.POPUP_SOURCE, LpexCommonParser.POPUP_END
Returns:
this parser's contribution to the pop-up menu, or
null if none
See Also:
LpexCommonParser.defineFilterAction(java.lang.String, java.lang.String)

setStyleAttributes

public void setStyleAttributes()
Defines this parser's style attributes. The following style characters are set: '_' (layout blanks), 'p' (punctuation/operator), 'c' (comment), 'r' (remark), 'a' (name), 'e' (error), 'k' (executable statement keyword), 'o' (nonexecutable statement keyword), 's' (special program keyword), 'v' (special program-end keyword), 'n' (numeric), 'q' (character literal), 'd' (compiler directive), 'f' (continuation indicator), 'l' (label), 'i' (ignored).


getCommentStyleCharacters

public String getCommentStyleCharacters()
Returns the style characters used for styling comments and remarks ("cr").

Overrides:
getCommentStyleCharacters in class LpexCommonParser

isTokenDelimiter

public boolean isTokenDelimiter(char ch)
Returns true if the specified character is a token delimiter.

Overrides:
isTokenDelimiter in class LpexCommonParser
Parameters:
ch - character queried, for example, ')'
See Also:
LpexCommonParser.getToken(com.ibm.lpex.core.LpexDocumentLocation)

SWT LPEX
v3.0.5

(C) Copyright IBM Corporation 1998, 2005.  All Rights Reserved.