const class syntax::SyntaxRules
sys::Obj syntax::SyntaxRules
SyntaxRules defines the syntax rules used to parse a specific programming language.
- 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