# NXC language definition file
#
# Author: Andre Simon
#   Mail: andre.simon@gmx.de
#   Date: 25.02.2010
# ------------------------------------------
# This file is a part of highlight, a free source code converter released under the GPL.
#
# The file is used to describe keywords and special symbols of programming languages.
# See README in the highlight directory for details.
#
# New definition files for future releases of highlight are always appreciated ;)
#
# ----------
# andre.simon@gmx.de
# http:/www.andre-simon.de/

$DESCRIPTION=Not eXactly C

$KEYWORDS(kwa)=__RETURN__ __RETVAL__ __STRRETVAL__ __TMPBYTE__ 
__TMPWORD__ __TMPLONG__ abs asm bool break byte case char const continue 
default do else false for goto if inline int long mutex priority repeat 
return safecall short sign start stop string struct sub switch task true 
typedef  until void while 

$KEYWORDS(kwb)=bool byte unsigned char char int short long long mutex 
string struct 

$KEYWORDS(kwc)=

$KEYWORDS(kwd)=regex((\w+)\s*\()

$STRINGDELIMITERS=" '

$SL_COMMENT=//

$ML_COMMENT=/* */

$ALLOWNESTEDCOMMENTS=false

$IGNORECASE=false

$DIRECTIVE=#

$ESCCHAR=regex(\\\d{}|\\x\p{XDigit}{}|\\[ntvbrfa\\\?'"])

$SYMBOLS= ( ) [ ] { } , ; . : & | < > !  = / *  %  + - ~

$CONTINUATIONSYMBOL=\

$REFORMATTING=true


$DIGIT=regex((?:x|X)[-a-fA-F]+|\d*[\.]?\d+(?:[eE][\-\+]\\d+)?[lLuU]*)

$NESTED(asm)=regex(asm) regex(\})
