SyntaxFacet

public class SyntaxFacet implements IFacet

Represents the syntax (or parsing) facet of a language.

Fields

completionParseTable

public final FileObject completionParseTable

fenceCharacters

public final Iterable<FenceCharacters> fenceCharacters

imploder

public final ImploderImplementation imploder

multiLineCommentCharacters

public final Iterable<MultiLineCommentCharacters> multiLineCommentCharacters

parseTable

public final FileObject parseTable

singleLineCommentPrefixes

public final Iterable<String> singleLineCommentPrefixes

startSymbols

public final Iterable<String> startSymbols

Constructors

SyntaxFacet

public SyntaxFacet(FileObject parseTable, FileObject completionParseTable, Iterable<String> startSymbols)

Creates a syntax facet from a parse table provider and start symbols.

Parameters:
  • parseTable – Parse table.
  • startSymbols – Set of start symbols.

SyntaxFacet

public SyntaxFacet(FileObject parseTable, FileObject completionParseTable, Iterable<String> startSymbols, Iterable<String> singleLineCommentPrefixes, Iterable<MultiLineCommentCharacters> multiLineCommentCharacters, Iterable<FenceCharacters> fenceCharacters, ImploderImplementation imploder)

Creates a syntax facet from syntax configuration.

Parameters:
  • parseTable – Parse table.
  • startSymbols – Set of start symbols.
  • singleLineCommentPrefixes – Single line comment prefixes.
  • multiLineCommentCharacters – Multi line comment characters.
  • fenceCharacters – Fence characters.

Methods

available

public Iterable<String> available()

Checks if the parse table file exists, returns errors if not.

Throws:
  • FileSystemException – When an error occurs while checking if the parse table file exists.
Returns:

Errors, or empty if there are no errors.

withImploderSetting

public SyntaxFacet withImploderSetting(ImploderImplementation imploder)

Creates a syntax facet from another syntax facet, only overriding the imploder setting

Parameters:
  • imploder – The imploder setting.