init
This commit is contained in:
241
syntax/pascal.jsf
Normal file
241
syntax/pascal.jsf
Normal file
@@ -0,0 +1,241 @@
|
||||
# PASCAL highlighter for JOE
|
||||
# With support for Delphi and FPC by Michael Van Canneyt
|
||||
|
||||
=Idle
|
||||
=Comment
|
||||
=Constant
|
||||
=String +Constant
|
||||
=Number +Constant
|
||||
=Type
|
||||
=Keyword
|
||||
=Statement +Keyword
|
||||
=Operator +Keyword
|
||||
=Loop +Statement
|
||||
=Conditional +Statement
|
||||
=DefinedFunction +DefinedIdent
|
||||
=Builtin +DefinedFunction
|
||||
=Structure +Type
|
||||
=Bad
|
||||
|
||||
:idle Idle
|
||||
* idle
|
||||
"\i" ident buffer
|
||||
"(" maybe_comment
|
||||
"/" maybe_linecomment
|
||||
"{" comment recolor=-1
|
||||
"'" string recolor=-1
|
||||
"$" maybe_hex_number
|
||||
"%" maybe_bin_number
|
||||
"&" maybe_oct_number
|
||||
"0-9" number recolor=-1
|
||||
|
||||
# Comments
|
||||
|
||||
:maybe_comment Idle
|
||||
* idle noeat
|
||||
"*" comment recolor=-2
|
||||
|
||||
:maybe_linecomment Idle
|
||||
* idle noeat
|
||||
"/" line_comment recolor=-2
|
||||
|
||||
:line_comment Comment comment
|
||||
* line_comment
|
||||
"BFHNTX" line_comment noeat call=comment_todo.comment_todo()
|
||||
"\n" reset
|
||||
|
||||
:comment Comment comment
|
||||
* comment
|
||||
"BFHNTX" comment noeat call=comment_todo.comment_todo()
|
||||
"*" maybe_end_comment
|
||||
"}" idle
|
||||
|
||||
:maybe_end_comment Comment comment
|
||||
* comment noeat
|
||||
")" idle
|
||||
|
||||
# String constant
|
||||
|
||||
:string String string
|
||||
* string
|
||||
"\n" idle
|
||||
"'" maybe_end_string
|
||||
|
||||
:maybe_end_string String string
|
||||
* idle recolor=-1 noeat
|
||||
"'" string
|
||||
|
||||
# Numeric constant
|
||||
|
||||
:maybe_hex_number Idle
|
||||
* idle noeat
|
||||
"0-9A-Fa-f" hex_number recolor=-2
|
||||
|
||||
:maybe_bin_number Idle
|
||||
* idle noeat
|
||||
"01" bin_number recolor=-2
|
||||
|
||||
:maybe_oct_number Idle
|
||||
* idle noeat
|
||||
"0-7" oct_number recolor=-2
|
||||
|
||||
:bad Bad
|
||||
* idle noeat
|
||||
|
||||
:hex_number Number
|
||||
* idle noeat
|
||||
"0-9" hex_number
|
||||
"a-fA-F" hex_number
|
||||
|
||||
:bin_number Number
|
||||
* idle noeat
|
||||
"01" bin_number
|
||||
"2-9" bad recolor=-1
|
||||
|
||||
:oct_number Number
|
||||
* idle noeat
|
||||
"0-7" oct_number
|
||||
"89" bad recolor=-1
|
||||
|
||||
:number Number
|
||||
* idle noeat
|
||||
"0-9" number
|
||||
"eE" epart
|
||||
"." dot
|
||||
|
||||
:dot Number
|
||||
* idle noeat
|
||||
"0-9" float
|
||||
|
||||
:float Number
|
||||
* idle noeat
|
||||
"eE" epart
|
||||
"0-9" float
|
||||
|
||||
:epart Number
|
||||
* idle noeat
|
||||
"0-9+\-" enum
|
||||
|
||||
:enum Number
|
||||
* idle noeat
|
||||
"0-9" enum
|
||||
|
||||
|
||||
# Keywords
|
||||
|
||||
:ident Idle
|
||||
* idle noeat istrings
|
||||
"and" operator
|
||||
"array" type
|
||||
"begin" kw
|
||||
"case" cond
|
||||
"const" kw
|
||||
"div" operator
|
||||
"do" kw
|
||||
"downto" kw
|
||||
"else" cond
|
||||
"end" kw
|
||||
"file" kw
|
||||
"for" loop
|
||||
"function" kw
|
||||
"goto" loop
|
||||
"if" cond
|
||||
"in" kw
|
||||
"label" kw
|
||||
"mod" operator
|
||||
"nil" word_constant
|
||||
"not" operator
|
||||
"of" kw
|
||||
"or" operator
|
||||
"packed" kw
|
||||
"procedure" kw
|
||||
"program" kw
|
||||
"record" kw
|
||||
"repeat" loop
|
||||
"set" kw
|
||||
"then" kw
|
||||
"type" kw
|
||||
"until" loop
|
||||
"var" kw
|
||||
"while" loop
|
||||
"with" kw
|
||||
# Delphi keywords
|
||||
"to" kw
|
||||
"try" kw
|
||||
"finally" kw
|
||||
"raise" kw
|
||||
"absolute" kw
|
||||
"cdecl" kw
|
||||
"stdcall" kw
|
||||
"register" kw
|
||||
"interface" struct
|
||||
"library" kw
|
||||
"constructor" kw
|
||||
"destructor" kw
|
||||
"dispinterface" kw
|
||||
"inherited" kw
|
||||
"public" kw
|
||||
"private" kw
|
||||
"published" kw
|
||||
"protected" kw
|
||||
"initialization" kw
|
||||
"finalization" kw
|
||||
"class" struct
|
||||
"object" kw
|
||||
"resourcestring" kw
|
||||
"property" kw
|
||||
"threadvar" kw
|
||||
"integer" type
|
||||
"boolean" type
|
||||
"real" type
|
||||
"char" type
|
||||
"string" type
|
||||
"text" type
|
||||
"abs" function
|
||||
"atan" function
|
||||
"arctan" function
|
||||
"concat" function
|
||||
"cos" function
|
||||
"eof" function
|
||||
"eoln" function
|
||||
"exp" function
|
||||
"insert" function
|
||||
"length" function
|
||||
"ln" function
|
||||
"log" function
|
||||
"odd" function
|
||||
"ord" function
|
||||
"page" function
|
||||
"pred" function
|
||||
"round" function
|
||||
"sin" function
|
||||
"sqr" function
|
||||
"sqrt" function
|
||||
"succ" function
|
||||
"trun" function
|
||||
done
|
||||
"\c" ident
|
||||
|
||||
:kw Keyword
|
||||
* idle noeat
|
||||
|
||||
:type Type
|
||||
* idle noeat
|
||||
|
||||
:loop Loop
|
||||
* idle noeat
|
||||
|
||||
:cond Conditional
|
||||
* idle noeat
|
||||
|
||||
:struct Structure
|
||||
* idle noeat
|
||||
|
||||
:operator Operator
|
||||
* idle noeat
|
||||
|
||||
:word_constant Constant
|
||||
* idle noeat
|
||||
|
||||
:function Builtin
|
||||
* idle noeat
|
||||
Reference in New Issue
Block a user