/ docs / src / source-highlight / hal.lang
hal.lang
 1  # language HAL (EMC Hardware Abstraction Layer)
 2  # as documented by halcmd(1)
 3  # Michael Haberler 3/2011
 4  # a bit unsure wether 'function' and 'label' are the appropriate styles
 5  
 6  keyword = "loadrt|unloadrt|loadusr|waitusr|unloadusr|unlinkp",
 7    "unload|newsig|delsig|sets|stype|gets|linkps|linksp",
 8    "linkpp|net|unlinkp|setp|ptype|getp|addf|delf",
 9    "start|stop|show|item|save|source"
10  
11  symbol = "=>","<=","="
12  
13  # a pin name has a token, followed by at least one dot, and a word
14  variable = '([[:alpha:]]|[_])[[:word:]]+\.([[:word:]]|[\-\.])+'
15  
16  # standalone token - a signal name, component name (no dots)
17  function = '([[:alpha:]]|_)([[:word:]]|\-)*'
18  
19  # INIFILE variable
20  label = '\[[[:alpha:]][[:word:]]+\][[:alpha:]][[:word:]]+'
21  
22  # environment variable
23  label = '\$[[:alpha:]][[:word:]]+'
24  label = '\$\([[:alpha:]][[:word:]]+\)'
25  
26  include "number.lang"
27  
28  comment start "#"