# Arc language definition file # # Author: Pierre Larochelle # Mail: pierrebombay@gmail.com # Date: 05.25.08 # ------------------------------------------ # 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. # # # ---------- $DESCRIPTION=Arc # Function, macro, and template definitions $KEYWORDS(kwa)=def defhook defmem defop defops defset deftem mac # Looping $KEYWORDS(kwb)=drain each for forlen loop noisy-each on ontable while whiler whilet until # Conditionals $KEYWORDS(kwc)=case caselet check if iflet when whenlet unless # General functions $KEYWORDS(kwd)=aand abs accum acons addtem adjoin afn after aif alist all alphadig alref and andf annotate apply assert assoc atend atlet atom atomic atomic-invoke atwith atwiths avg awhen bar* before begins best bestn blank bound break-threadcaar cache cadr call-w/stdin call-w/stdout car carif caris catch ccc cddr cdr client-ip close coerce commonest compare complement compose consif conswhen copy count counts current-gc-milliseconds current-process-milliseconds cut date days-since dead dedup deq details dir dir-exists disp do do1 dotted downcase ellipsize empty endmatch enq enq-limit ensure-dir ero err errsafe eval even exact expand-metafn-call expand= expand=list expt file-exists fill-table find findsubseq firstn firstn-that flat fn for forlen fromstring headmatch hook hooks* hours-since idfn in infile insert-sorted inside insort insortnew inst instring intersperse is isa isnt iso join jtime keep keys kill-thread last len len< len> let list listtab litmatch load load-table load-tables macex macex1 map map1 mappend maptable max median mem memo memtable merge mergesort metafn min mismatch mod most msec multiple multisubst n-of new-thread newstring no nonwhite nor nthcdr num number obj odd on-err only ontree open-socket or orf outfile outstring pair parse-format peekc pipe-from plural point pop pos positive posmatch pr prall prf prn protect prs pull punc push pushnew qlen qlist quasiquote queue quit quote rand rand-choice rand-string random-elt range read read-table readall readb readc readfile readfile1 readline readstring1 reclist recstring reduce reinsert-sorted rem rep repeat rev rfn rmfile rotate round roundup rreduce safe-load-table saferead safeset save-table scar scdr seconds set setforms setter sig since single sleep socket-accept some sort split sqrt sread sref ssexpand ssyntax stderr stdin stdout string subst summing swap sym system table tablist temload temloadall templates* templatize temread testify thread time time10 to-nearest tokens tostring trav tree-subst treewise trim trues trunc tuples type union uniq upcase urldecode vals w/appendfile w/bars w/infile w/instring w/outfile w/outstring w/socket w/stdin w/stdout w/table w/uniq warn whitec wipe with withs write write-table writeb writec writefile1 zap $IDENTIFIER=regex([a-zA-Z_][\w\-\/]*) # The rest is taken directly from André Simon's lisp.lang definition $STRINGDELIMITERS=" $ML_COMMENT=;| |; $SL_COMMENT=; #$IGNORECASE=false $ESCCHAR=regex(\\\d{3}|\\x\p{XDigit}{2}|\\[ntvbrfa\\\?'"]) $SYMBOLS= ( ) [ ] { } , : & < > ! + = / * '