@@ -5,20 +5,19 @@ Prism.languages.vhdl = {
5
5
'pattern' : / \b [ o x b ] " [ \d a - f _ ] + " | " [ 0 1 u x z w l h - ] + " / i,
6
6
'alias' : 'number'
7
7
} ,
8
- 'string' : / " ( \\ \n | \\ ? .) * ?" / ,
9
- 'constant' : / \b ( u s e | l i b r a r y ) \b / i,
10
- // support for predefined attributes included
11
- 'keyword' : / \b ( ' a c t i v e | ' a s c e n d i n g | ' b a s e | ' d e l a y e d | ' d r i v i n g | ' d r i v i n g _ v a l u e | ' e v e n t | ' h i g h | ' i m a g e | ' i n s t a n c e _ n a m e | ' l a s t _ a c t i v e | ' l a s t _ e v e n t | ' l a s t _ v a l u e | ' l e f t | ' l e f t o f | ' l e n g t h | ' l o w | ' p a t h _ n a m e | ' p o s | ' p r e d | ' q u i e t | ' r a n g e | ' r e v e r s e _ r a n g e | ' r i g h t | ' r i g h t o f | ' s i m p l e _ n a m e | ' s t a b l e | ' s u c c | ' t r a n s a c t i o n | ' v a l | ' v a l u e | a c c e s s | a f t e r | a l i a s | a l l | a r c h i t e c t u r e | a r r a y | a s s e r t | a t t r i b u t e | b e g i n | b l o c k | b o d y | b u f f e r | b u s | c a s e | c o m p o n e n t | c o n f i g u r a t i o n | c o n s t a n t | d i s c o n n e c t | d o w n t o | e l s e | e l s i f | e n d | e n t i t y | e x i t | f i l e | f o r | f u n c t i o n | g e n e r a t e | g e n e r i c | g r o u p | g u a r d e d | i f | i m p u r e | i n | i n e r t i a l | i n o u t | i s | l a b e l | l i b r a r y | l i n k a g e | l i t e r a l | l o o p | m a p | n e w | n e x t | n u l l | o f | o n | o p e n | o t h e r s | o u t | p a c k a g e | p o r t | p o s t p o n e d | p r o c e d u r e | p r o c e s s | p u r e | r a n g e | r e c o r d | r e g i s t e r | r e j e c t | r e p o r t | r e t u r n | s e l e c t | s e v e r i t y | s h a r e d | s i g n a l | s u b t y p e | t h e n | t o | t r a n s p o r t | t y p e | u n a f f e c t e d | u n i t s | u n t i l | u s e | v a r i a b l e | w a i t | w h e n | w h i l e | w i t h ) \b / i,
12
- 'boolean' : / \b ( t r u e | f a l s e ) \b / i,
13
- 'function' : {
14
- // support for operator overloading included
15
- pattern : / ( [ a - z 0 - 9 _ ] + | " \S + " ) \( / i,
16
- inside : {
17
- punctuation : / \( /
18
- }
8
+ // support for operator overloading included
9
+ 'quoted-function' : {
10
+ pattern : / " \S + ?" (? = \( ) / ,
11
+ alias : 'function'
19
12
} ,
13
+ 'string' : / " (?: [ ^ \\ \r \n ] | \\ ? (?: \r \n | [ \s \S ] ) ) * ?" / ,
14
+ 'constant' : / \b (?: u s e | l i b r a r y ) \b / i,
15
+ // support for predefined attributes included
16
+ 'keyword' : / \b (?: ' a c t i v e | ' a s c e n d i n g | ' b a s e | ' d e l a y e d | ' d r i v i n g | ' d r i v i n g _ v a l u e | ' e v e n t | ' h i g h | ' i m a g e | ' i n s t a n c e _ n a m e | ' l a s t _ a c t i v e | ' l a s t _ e v e n t | ' l a s t _ v a l u e | ' l e f t | ' l e f t o f | ' l e n g t h | ' l o w | ' p a t h _ n a m e | ' p o s | ' p r e d | ' q u i e t | ' r a n g e | ' r e v e r s e _ r a n g e | ' r i g h t | ' r i g h t o f | ' s i m p l e _ n a m e | ' s t a b l e | ' s u c c | ' t r a n s a c t i o n | ' v a l | ' v a l u e | a c c e s s | a f t e r | a l i a s | a l l | a r c h i t e c t u r e | a r r a y | a s s e r t | a t t r i b u t e | b e g i n | b l o c k | b o d y | b u f f e r | b u s | c a s e | c o m p o n e n t | c o n f i g u r a t i o n | c o n s t a n t | d i s c o n n e c t | d o w n t o | e l s e | e l s i f | e n d | e n t i t y | e x i t | f i l e | f o r | f u n c t i o n | g e n e r a t e | g e n e r i c | g r o u p | g u a r d e d | i f | i m p u r e | i n | i n e r t i a l | i n o u t | i s | l a b e l | l i b r a r y | l i n k a g e | l i t e r a l | l o o p | m a p | n e w | n e x t | n u l l | o f | o n | o p e n | o t h e r s | o u t | p a c k a g e | p o r t | p o s t p o n e d | p r o c e d u r e | p r o c e s s | p u r e | r a n g e | r e c o r d | r e g i s t e r | r e j e c t | r e p o r t | r e t u r n | s e l e c t | s e v e r i t y | s h a r e d | s i g n a l | s u b t y p e | t h e n | t o | t r a n s p o r t | t y p e | u n a f f e c t e d | u n i t s | u n t i l | u s e | v a r i a b l e | w a i t | w h e n | w h i l e | w i t h ) \b / i,
17
+ 'boolean' : / \b (?: t r u e | f a l s e ) \b / i,
18
+ 'function' : / [ a - z 0 - 9 _ ] + (? = \( ) / i,
20
19
// decimal, based, physical, and exponential numbers supported
21
- 'number' : / ' [ 0 1 u x z w l h - ] ' | \b \d + [ _ . ] * ( # [ \d a - f _ . ] + # ) ? ( e [ - + ] ? \d + ) ? / i,
22
- 'operator' : / < = ? | > = ? | : = | [ - + * / & = ] | \b ( a b s | n o t | m o d | r e m | s l l | s r l | s l a | s r a | r o l | r o r | a n d | o r | n a n d | x n o r | x o r | n o r ) \b / i,
20
+ 'number' : / ' [ 0 1 u x z w l h - ] ' | \b (?: \d + # [ \d a - f _ . ] + # | \d [ \d _ . ] * ) (?: e [ - + ] ? \d + ) ? / i,
21
+ 'operator' : / [ < > ] = ? | : = | [ - + * / & = ] | \b (?: a b s | n o t | m o d | r e m | s l l | s r l | s l a | s r a | r o l | r o r | a n d | o r | n a n d | x n o r | x o r | n o r ) \b / i,
23
22
'punctuation' : / [ { } [ \] ; ( ) , . : ] /
24
23
} ;
0 commit comments