- Index
- »
- syntax
- »
- SyntaxRules
type
SyntaxRules
@Serializable
const class SyntaxRules : Obj
SyntaxRules defines the syntax rules used to parse a specific programming language.
constructors
make |
Default constructor with it-block |
---|
fields
blockCommentEnd |
End token for multi-line block comments |
---|---|
blockCommentStart |
Start token for multi-line block comments |
blockCommentsNest |
Can block comments be nested (default is false). |
brackets |
Bracket characters defaults to "()[]{}". |
comments |
Start tokens for single line comments to end of line (list of strings). |
keywords |
List of the keywords. |
strs |
String and character literal styles |
methods
loadForExt |
Load syntax rules for given file extension using "etc/syntax/ext.props". |
---|---|
loadForFile |
Load syntax rules for given file. |
Slot Details
blockCommentEnd
const Str? blockCommentEnd
End token for multi-line block comments
blockCommentStart
const Str? blockCommentStart
Start token for multi-line block comments
blockCommentsNest
const Bool blockCommentsNest := false
Can block comments be nested (default is false).
brackets
const Str brackets := "(){}[]"
Bracket characters defaults to "()[]{}".
comments
const Str[]? comments
Start tokens for single line comments to end of line (list of strings).
keywords
const Str[]? keywords
List of the keywords.
loadForExt
static SyntaxRules? loadForExt(Str ext)
Load syntax rules for given file extension using "etc/syntax/ext.props". If no rules defined for extension return null.
loadForFile
static SyntaxRules? loadForFile(File file, Str? firstLine := null)
Load syntax rules for given file. If the file has already been parse then pass the first line to avoid re-reading the file to check the "#!" shebang. First we attempt to map the file extension to rules. If that fails, then we check the first line to see if defines a "#!" shebang. Return null if no rules can be determined.
make
new make(|This|? f := null)
Default constructor with it-block
strs
const SyntaxStr[]? strs
String and character literal styles