230
228
<!-- start / global environment -->
231
229
<context name="start" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
232
<IncludeRules context="preDetection" />
230
<IncludeRules context="preDetection"/>
234
<RegExpr attribute="Control" context="architecture_main" insensitive="true" dynamic="true" lookAhead="true"
235
String="architecture\s+(&varname;)" />
236
<StringDetect attribute="Control" context="entity" String="entity" />
237
<RegExpr attribute="Normal Text" context="package" insensitive="true" lookAhead="true" beginRegion="PackageRegion1"
238
String="&bos;(package\s+(&varname;)\s+is)&eos;"/>
239
<RegExpr attribute="Normal Text" context="packagebody" lookAhead="true" insensitive="true" beginRegion="PackageBodyRegion1"
240
String="&bos;(package\s+body\s+(&varname;)\s+is)&eos;"/>
232
<RegExpr attribute="Control" context="architecture_main" insensitive="true" dynamic="true" lookAhead="true"
233
String="&bos;architecture\s+(&varname;)&eos;"/>
234
<StringDetect attribute="Control" context="entity"
236
<RegExpr attribute="Control" context="package" insensitive="true" lookAhead="true" dynamic="true" beginRegion="PackageRegion1"
237
String="&bos;package\s+(&varname;)\s+is&eos;"/>
238
<RegExpr attribute="Control" context="packagebody" lookAhead="true" insensitive="true" dynamic="true" beginRegion="PackageBodyRegion1"
239
String="&bos;package\s+body\s+(&varname;)\s+is&eos;"/>
241
240
<!-- <StringDetect attribute="Control" context="arch_decl" String="package" />temporary-->
243
<keyword attribute="Keyword" context="#stay" String="keywordsToplevel"/>
241
<RegExpr attribute="Control" context="configuration" insensitive="true" dynamic="true" lookAhead="true"
242
String="&bos;configuration\s+(&varname;)&eos;"/>
243
<keyword attribute="Keyword" context="#stay" String="keywordsToplevel"/>
247
247
<context name="package" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
248
<StringDetect attribute="Redirection" context="#stay" String="%2" dynamic="true" />
249
<IncludeRules context="preDetection" />
250
<StringDetect attribute="Redirection" context="#stay" String="begin" insensitive="true" />
251
<RegExpr attribute="Redirection" context="#pop" String="&bos;end(\s+package)?(\s+%3)?\s*;" dynamic="true" endRegion="PackageRegion1" insensitive="true" />
252
<IncludeRules context="generalDetection" />
248
<IncludeRules context="preDetection"/>
249
<RegExpr attribute="Control" context="#stay" insensitive="true" String="&bos;package&eos;" />
250
<RegExpr attribute="Keyword" context="packagemain" insensitive="true" String="&bos;is&eos;" />
251
<RegExpr attribute="Name" context="#stay" insensitive="true" String="&bos;%2&eos;" dynamic="true"/>
252
<RegExpr attribute="Redirection" context="#pop" dynamic="true" endRegion="PackageRegion1" insensitive="true"
253
String="&bos;end(\s+package)?(\s+%2)?\s*;" />
254
<IncludeRules context="generalDetection"/>
257
<context name="packagemain" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
258
<IncludeRules context="preDetection"/>
259
<RegExpr attribute="Keyword" context="#pop" lookAhead="true" insensitive="true" String="&bos;end&eos;" />
260
<RegExpr attribute="Keyword" context="packagefunction" insensitive="true" String="&bos;function&eos;" />
261
<IncludeRules context="generalDetection"/>
264
<context name="packagefunction" attribute="Normal Text" lineEndContext="#stay">
265
<RegExpr attribute="Name" context="#pop" insensitive="true" String="&bos;&varname;&eos;" />
255
268
<!-- package body environment -->
257
270
<context name="packagebody" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
258
<StringDetect attribute="Redirection" context="#stay" String="%2" dynamic="true" />
259
<IncludeRules context="preDetection" />
260
<StringDetect attribute="Redirection" context="#stay" String="begin" insensitive="true" />
261
<RegExpr attribute="Redirection" context="#pop" String="&bos;end(\s+package)?(\s+%3)?\s*;" dynamic="true" endRegion="PackageBodyRegion1" insensitive="true" />
262
<IncludeRules context="generalDetection" />
271
<IncludeRules context="preDetection"/>
272
<RegExpr attribute="Control" context="#stay" insensitive="true" String="&bos;package&eos;" />
273
<RegExpr attribute="Keyword" context="packagebodymain" insensitive="true" String="&bos;is&eos;" />
274
<RegExpr attribute="Name" context="#stay" insensitive="true" String="&bos;%2&eos;" dynamic="true"/>
275
<RegExpr attribute="Redirection" context="#pop" dynamic="true" endRegion="PackageBodyRegion1" insensitive="true"
276
String="&bos;end(\s+package)?(\s+%2)?\s*;" />
277
<IncludeRules context="generalDetection"/>
280
<context name="packagebodymain" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
281
<IncludeRules context="preDetection"/>
282
<RegExpr attribute="Keyword" context="#pop" lookAhead="true" insensitive="true" String="&bos;end\s+package&eos;" />
283
<RegExpr attribute="Keyword" context="packagebodyfunc1" beginRegion="PackBodyFunc" insensitive="true" dynamic="true" lookAhead="true" String="&bos;function\s+(&varname;)&eos;" />
284
<IncludeRules context="generalDetection"/>
287
<context name="packagebodyfunc1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
288
<IncludeRules context="preDetection"/>
289
<RegExpr attribute="Redirection" context="packagebodyfunc2" beginRegion="RegionFunction" insensitive="true" String="&bos;begin&eos;" />
290
<RegExpr attribute="Keyword" context="#pop" insensitive="true" endRegion="PackBodyFunc" dynamic="true" String="&bos;end(\s+function)?(\s+%2)?&eos;" />
291
<RegExpr attribute="Name" context="#stay" insensitive="true" String="&bos;%2&eos;" dynamic="true"/>
292
<IncludeRules context="generalDetection"/>
295
<context name="packagebodyfunc2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
296
<IncludeRules context="preDetection"/>
297
<RegExpr attribute="Redirection" context="#pop" insensitive="true" dynamic="true" lookAhead="true" endRegion="RegionFunction"
298
String="&bos;end(\s+function)?&eos;"/>
299
<!--<RegExpr attribute="Error" context="#pop" insensitive="true" dynamic="true" lookAhead="true" endRegion="RegionFunction"
300
String="&bos;end\s+function(\s+&varname;)?&eos;"/>-->
301
<RegExpr attribute="Process" context="#stay" insensitive="true"
302
String="&bos;begin&eos;"/>
303
<IncludeRules context="proc_rules"/>
265
307
<!--====ARCHITECTURE ===============-->
266
<context name="architecture_main" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
267
<IncludeRules context="preDetection" />
268
<RegExpr attribute="Control" context="arch_decl" insensitive="true" beginRegion="ArchitectureRegion1"
269
String="architecture\s+(&varname;)\s+of\s+(&varname;)\s+is" />
270
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ArchitectureRegion1"
271
String="&bos;end(\s+architecture)?(\s+%1)?\s*;" />
272
<RegExpr attribute="Error" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ArchitectureRegion1"
273
String="&bos;end(\s+architecture)?(\s+&varname;)\s*;" />
274
<IncludeRules context="detect_arch_parts" />
308
<context name="architecture_main" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
309
<IncludeRules context="preDetection"/>
310
<RegExpr attribute="Control" context="arch_start" insensitive="true" lookAhead="true" dynamic="true" beginRegion="ArchitectureRegion1"
311
String="&bos;architecture\s+(&varname;)\s+of\s+(&varname;)\s+is"/>
312
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ArchitectureRegion1"
313
String="&bos;end(\s+architecture)?(\s+%2)?\s*;"/>
314
<RegExpr attribute="Error" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ArchitectureRegion1"
315
String="&bos;end(\s+architecture)?(\s+&varname;)\s*;"/>
316
<IncludeRules context="detect_arch_parts"/>
277
319
<!-- architecture environment "before begin" -->
278
<context name="arch_decl" attribute="Normal Text" lineEndContext="#stay" >
279
<IncludeRules context="preDetection" />
280
<keyword attribute="Signal" context="signal" insensitive="true" String="signals"/>
281
<StringDetect attribute="Control" context="entity" insensitive="true" String="component"/>
282
<StringDetect attribute="Control" context="#pop" insensitive="true" String="begin"/>
283
<IncludeRules context="generalDetection" />
320
<context name="arch_start" attribute="Control" lineEndContext="#stay" dynamic="true">
321
<IncludeRules context="preDetection"/>
322
<RegExpr attribute="Keyword" context="arch_decl" insensitive="true" String="&bos;is&eos;" />
323
<RegExpr attribute="Name" context="#stay" insensitive="true" String="&bos;%2&eos;" dynamic="true"/>
324
<RegExpr attribute="Reference" context="#stay" insensitive="true" String="&bos;%4&eos;" dynamic="true"/>
325
<IncludeRules context="generalDetection"/>
328
<context name="arch_decl" attribute="Normal Text" lineEndContext="#stay">
329
<IncludeRules context="preDetection"/>
330
<keyword attribute="Signal" context="signal" insensitive="true" String="signals"/>
331
<StringDetect attribute="Control" context="entity" insensitive="true" String="component"/>
332
<StringDetect attribute="Control" context="#pop#pop" insensitive="true" String="begin"/>
333
<IncludeRules context="generalDetection"/>
286
336
<!-- parts of architecture body -->
287
337
<context name="detect_arch_parts" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
288
<RegExpr attribute="Normal Text" context="generate1" lookAhead="true" insensitive="true" dynamic="true"
289
String="&bos;((&varname;)\s*:\s*)(if|for).*\s+generate&eos;" />
290
<RegExpr attribute="Normal Text" context="process1" lookAhead="true" insensitive="true" dynamic="true"
291
String="&bos;((&varname;)\s*:\s*)?process&eos;" />
292
<RegExpr attribute="Normal Text" context="instance" lookAhead="true" insensitive="true" dynamic="true" beginRegion="InstanceRegion1"
293
String="\b(&varname;)\s*:\s*(&varname;)" />
338
<RegExpr attribute="Normal Text" context="generate1" lookAhead="true" insensitive="true" dynamic="true"
339
String="&bos;(&varname;\s*:\s*)(if|for).*\s+generate&eos;"/>
340
<RegExpr attribute="Normal Text" context="process1" lookAhead="true" insensitive="true" dynamic="true"
341
String="&bos;(&varname;\s*:\s*)?process&eos;"/>
342
<RegExpr attribute="Normal Text" context="instance" lookAhead="true" insensitive="true" dynamic="true" beginRegion="InstanceRegion1"
343
String="&bos;(&varname;)\s*:\s*((entity\s+)?(&varname;)(\.&varname;)?)"/>
295
<IncludeRules context="generalDetection" />
345
<IncludeRules context="generalDetection"/>
298
348
<!--====generate ===============-->
299
349
<context name="generate1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
300
<IncludeRules context="preDetection" />
301
<RegExpr attribute="Control" context="generate2" insensitive="true" beginRegion="GenerateRegion"
302
String="&bos;generate&eos;" />
303
<RegExpr attribute="Name" context="#stay" dynamic="true" insensitive="true"
304
String="&bos;%3&eos;" />
305
<StringDetect attribute="Control" context="#stay" insensitive="true" String="for"/>
306
<StringDetect attribute="Control" context="#stay" insensitive="true" String="if"/>
307
<IncludeRules context="generalDetection" />
350
<IncludeRules context="preDetection"/>
351
<RegExpr attribute="Control" context="generate2" insensitive="true" beginRegion="GenerateRegion"
352
String="&bos;(generate|loop)&eos;"/>
353
<RegExpr attribute="Name" context="#stay" dynamic="true" insensitive="true"
354
String="&bos;%3&eos;"/>
355
<RegExpr attribute="Control" context="#stay" insensitive="true"
356
String="&bos;(for|if|while)&eos;"/>
357
<IncludeRules context="generalDetection"/>
310
360
<context name="generate2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
311
<IncludeRules context="preDetection" />
312
<StringDetect attribute="Control" context="#stay" insensitive="true"
314
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="GenerateRegion"
315
String="&bos;end\s+generate(\s+&varname;)?\s*;"/>
316
<IncludeRules context="detect_arch_parts" />
361
<IncludeRules context="preDetection"/>
362
<RegExpr attribute="Control" context="#stay" insensitive="true"
363
String="&bos;begin&eos;"/>
364
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="GenerateRegion"
365
String="&bos;end\s+(generate|loop)(\s+&varname;)?"/>
366
<IncludeRules context="detect_arch_parts"/>
321
371
<!-- process environment -->
323
373
<context name="process1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
324
<IncludeRules context="preDetection" />
325
<RegExpr attribute="Process" context="#pop" insensitive="true" dynamic="true" endRegion="RegionProcess"
326
String="end\s+process(\s+%3)?\s*;" />
327
<RegExpr attribute="Error" context="#pop" insensitive="true" dynamic="true" endRegion="RegionProcess"
328
String="end\s+process(\s+&varname;)?" />
329
<StringDetect attribute="Process" context="#stay" insensitive="true" beginRegion="RegionProcess"
331
<StringDetect attribute="Process" context="#stay" insensitive="true"
335
<IncludeRules context="proc_rules" />
374
<IncludeRules context="preDetection"/>
375
<RegExpr attribute="Process" context="#pop" insensitive="true" dynamic="true" endRegion="RegionProcess"
376
String="&bos;end\s+process(\s+%3)?"/>
377
<RegExpr attribute="Error" context="#pop" insensitive="true" dynamic="true" endRegion="RegionProcess"
378
String="&bos;end\s+process(\s+&varname;)?"/>
379
<RegExpr attribute="Process" context="#stay" insensitive="true" beginRegion="RegionProcess"
380
String="&bos;process&eos;"/>
381
<RegExpr attribute="Process" context="#stay" insensitive="true"
382
String="&bos;begin&eos;"/>
383
<IncludeRules context="proc_rules"/>
338
386
<context name="proc_rules" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
339
<RegExpr attribute="Name" context="#stay" insensitive="true"
340
String="&bos;&varname;(?=\s*:(?!=))" />
341
<RegExpr attribute="Control" context="if_start" insensitive="true"
342
String="&bos;(if)&eos;" />
343
<RegExpr attribute="Control" context="case1" lookAhead="true" insensitive="true" dynamic="true" beginRegion="CaseRegion1"
344
String="&bos;(case)&eos;" />
345
<RegExpr attribute="Control" context="forOrWhile" insensitive="true" beginRegion="ForOrWhileRegion1"
346
String="&bos;&label;((for|while)\s+.+\s+)?loop&eos;"/>
347
<IncludeRules context="generalDetection" />
387
<RegExpr attribute="Name" context="#stay" insensitive="true"
388
String="&bos;&varname;(?=\s*:(?!=))"/>
389
<RegExpr attribute="Control" context="if_start" insensitive="true"
390
String="&bos;if&eos;"/>
391
<RegExpr attribute="Control" context="case1" lookAhead="true" insensitive="true"
392
String="&bos;case&eos;"/>
393
<RegExpr attribute="Control" context="forwhile1" dynamic="true" lookAhead="true" insensitive="true"
394
String="&bos;((&varname;)\s*:\s*)?((for|while)\s+.+\s+)loop&eos;"/>
395
<IncludeRules context="generalDetection"/>
353
401
<!--====instance =============== -->
355
<context name="instance" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
356
<IncludeRules context="preDetection" />
357
<RegExpr attribute="Name" context="#stay" String="\b%1\b" dynamic="true" />
358
<RegExpr attribute="Name" context="#stay" String="\b%2\b" dynamic="true" />
359
<Detect2Chars attribute="Normal Text" context="#pop" char=")" char1=";" endRegion="InstanceRegion1" />
360
<!-- <DetectChar attribute="Error" context="#stay" char=";" />-->
362
<IncludeRules context="generalDetection" />
402
<!-- When an instance has been detected-->
403
<context name="instance" attribute="Error" lineEndContext="#stay" dynamic="true">
404
<IncludeRules context="preDetection"/>
405
<RegExpr attribute="Reference" context="#stay" String="&bos;%4&eos;" dynamic="true"/>
406
<RegExpr attribute="Name" context="#stay" String="&bos;%3&eos;" dynamic="true"/>
407
<RegExpr attribute="Keyword" context="instanceMap" beginRegion="InstanceMapRegion"
408
String="&bos;(port|generic)\s+map\s*\(" />
409
<DetectChar attribute="Normal Text" context="#pop" char=";" endRegion="InstanceRegion1"/>
410
<IncludeRules context="generalDetection"/>
413
<!-- Inside a port or generic map-->
414
<context name="instanceMap" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
415
<AnyChar attribute="Error" context="#stay" String="<;:"/>
416
<DetectChar attribute="Error" context="#stay" char=":" />
417
<IncludeRules context="preDetection"/>
418
<DetectChar attribute="Normal Text" context="#pop" char=")" endRegion="InstanceMapRegion"/>
419
<DetectChar attribute="Normal Text" context="instanceInnerPar" char="("/>
420
<IncludeRules context="generalDetection"/>
423
<!-- Inside parantheses inside a map-->
424
<context name="instanceInnerPar" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
425
<IncludeRules context="preDetection"/>
426
<DetectChar attribute="Normal Text" context="#pop" char=")" endRegion="instanceInnerPar"/>
427
<DetectChar attribute="Normal Text" context="instanceInnerPar" char="("/>
428
<DetectChar attribute="Error" context="#stay" char=";"/>
429
<IncludeRules context="generalDetection"/>
365
432
<!--====loop ===============-->
366
<context name="forOrWhile" attribute="Normal Text" lineEndContext="#stay">
367
<RegExpr attribute="Control" context="#pop" endRegion="ForOrWhileRegion1" insensitive="true"
368
String="&bos;end\s+loop(\s+&varname;)?\s*;"/>
369
<keyword attribute="Control" context="#stay" String="forOrWhile"/>
370
<IncludeRules context="proc_rules" />
433
<context name="forwhile1" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
434
<IncludeRules context="preDetection"/>
435
<RegExpr attribute="Control" context="forwhile2" insensitive="true" beginRegion="ForWhileRegion"
436
String="&bos;loop&eos;"/>
437
<RegExpr attribute="Name" context="#stay" dynamic="true" insensitive="true"
438
String="&bos;%3&eos;"/>
439
<RegExpr attribute="Control" context="#stay" insensitive="true"
440
String="&bos;(for|while)&eos;"/>
441
<IncludeRules context="generalDetection"/>
444
<context name="forwhile2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
445
<IncludeRules context="preDetection"/>
446
<RegExpr attribute="Control" context="#stay" insensitive="true"
447
String="&bos;begin&eos;"/>
448
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="ForWhileRegion"
449
String="&bos;end\s+loop(\s+&varname;)?"/>
450
<IncludeRules context="proc_rules"/>
373
453
<!--====if ===============-->
374
454
<context name="if_start" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
375
<IncludeRules context="preDetection" />
376
<StringDetect attribute="Control" context="if" insensitive="true" beginRegion="IfRegion1"
378
<IncludeRules context="generalDetection" />
455
<IncludeRules context="preDetection"/>
456
<RegExpr attribute="Control" context="if" insensitive="true" beginRegion="IfRegion1"
457
String="&bos;then&eos;"/>
458
<IncludeRules context="generalDetection"/>
381
461
<context name="if" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
382
<IncludeRules context="preDetection" />
383
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="IfRegion1"
462
<IncludeRules context="preDetection"/>
463
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="IfRegion1"
384
464
String="&bos;end\s+if(\s+&varname;)?\s*;"/>
385
<IncludeRules context="proc_rules" />
386
<keyword attribute="Control" context="#stay" insensitive="true"
465
<IncludeRules context="proc_rules"/>
466
<keyword attribute="Control" context="#stay" insensitive="true" String="if"/>
391
470
<!--====case ===============-->
392
472
<context name="case1" attribute="Normal Text" lineEndContext="#stay">
393
<IncludeRules context="preDetection" />
394
<StringDetect attribute="Keyword" context="case2" insensitive="true"
396
<keyword attribute="Control" context="#stay" insensitive="true"
473
<IncludeRules context="preDetection"/>
474
<RegExpr attribute="Keyword" context="case2" insensitive="true"
475
String="&bos;is&eos;"/>
476
<keyword attribute="Control" context="#stay" insensitive="true" beginRegion="CaseRegion1" String="case"/>
477
<IncludeRules context="generalDetection"/>
399
480
<context name="case2" attribute="Normal Text" lineEndContext="#stay">
400
<IncludeRules context="preDetection" />
401
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="CaseRegion1"
402
String="&bos;end\s+case(\s+&varname;)?\s*;"/>
403
<StringDetect attribute="Control" context="caseWhen" insensitive="true" beginRegion="CaseWhenRegion1"
405
<IncludeRules context="proc_rules" />
407
<context name="caseWhen" attribute="Normal Text" lineEndContext="#stay">
408
<IncludeRules context="preDetection" />
409
<RegExpr attribute="Control" context="#pop" lookAhead="true" insensitive="true" endRegion="CaseWhenRegion1"
410
String="&bos;when&eos;" />
411
<RegExpr attribute="Control" context="#pop" lookAhead="true" insensitive="true" endRegion="CaseWhenRegion1"
412
String="&bos;end\s+case(\s+&varname;)?\s*;"/>
413
<IncludeRules context="proc_rules" />
481
<IncludeRules context="preDetection"/>
482
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" endRegion="CaseRegion1"
483
String="&bos;end\s+case(&varname;)?\s*;"/>
484
<RegExpr attribute="Control" context="caseWhen" lookAhead="true" dynamic="true" insensitive="true"
485
String="&bos;when(\s+&varname;)?&eos;"/>
486
<IncludeRules context="proc_rules"/>
489
<context name="caseWhen" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
490
<Detect2Chars char="=" char1=">" attribute="Operator" context="caseWhen2" beginRegion="CaseWhenRegion1"/>
491
<IncludeRules context="preDetection"/>
492
<RegExpr attribute="Control" insensitive="true"
493
String="&bos;when&eos;"/>
494
<RegExpr attribute="Name" insensitive="true" dynamic="true"
495
String="&bos;%2&eos;"/>
496
<IncludeRules context="proc_rules"/>
499
<context name="caseWhen2" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
500
<IncludeRules context="preDetection"/>
501
<RegExpr attribute="Control" context="#pop#pop" lookAhead="true" insensitive="true" endRegion="CaseWhenRegion1"
502
String="^\s*when&eos;"/>
503
<RegExpr attribute="Control" context="#pop#pop" lookAhead="true" insensitive="true" endRegion="CaseWhenRegion1"
504
String="^\s*end\s+case&eos;"/>
505
<IncludeRules context="proc_rules"/>
507
<!-- 'when' and 'end case' are checked at the beginning of the line for better code folding -->
420
512
<!--====ENTITY ===============-->
421
513
<!-- entity environment -->
423
<context name="entity" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
424
<IncludeRules context="preDetection" />
425
<RegExpr attribute="Name" context="entity_main" beginRegion="EntityRegion1" insensitive="true" String="(&varname;)" />
426
<IncludeRules context="generalDetection" />
515
<context name="entity" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
516
<IncludeRules context="preDetection"/>
517
<RegExpr attribute="Name" context="entity_main" beginRegion="EntityRegion1" insensitive="true"
518
String="(&varname;)"/>
519
<IncludeRules context="generalDetection"/>
430
523
<context name="entity_main" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
431
<IncludeRules context="preDetection" />
432
<RegExpr attribute="Control" context="#pop#pop" dynamic="true" insensitive="true" endRegion="EntityRegion1"
433
String="&bos;end(\s+(entity|component))?(\s+%1)?\s*;" />
434
<RegExpr attribute="Error" context="#pop#pop" dynamic="true" insensitive="true" endRegion="EntityRegion1"
435
String="&bos;end(\s+(entity|component))?(\s+&varname;)?\s*;" />
436
<RegExpr attribute="Control" context="#stay" String="generic"/>
437
<RegExpr attribute="Control" context="#stay" String="port"/>
438
<IncludeRules context="generalDetection" />
524
<IncludeRules context="preDetection"/>
525
<RegExpr attribute="Control" context="#pop#pop" dynamic="true" insensitive="true" endRegion="EntityRegion1"
526
String="&bos;end(\s+(entity|component))?(\s+%1)?\s*;"/>
527
<RegExpr attribute="Error" context="#pop#pop" dynamic="true" insensitive="true" endRegion="EntityRegion1"
528
String="&bos;end(\s+(entity|component))?(\s+&varname;)?\s*;"/>
529
<RegExpr attribute="Control" context="#stay" insensitive="true" String="generic"/>
530
<RegExpr attribute="Control" context="#stay" insensitive="true" String="port"/>
531
<IncludeRules context="generalDetection"/>
534
<!--====Configuration ===============-->
535
<!-- configuration environment -->
536
<context name="configuration" attribute="Normal Text" lineEndContext="#stay" dynamic="true">
537
<IncludeRules context="preDetection"/>
538
<RegExpr attribute="Control" context="conf_start" insensitive="true" lookAhead="true" dynamic="true" beginRegion="ConfigurationRegion1"
539
String="&bos;configuration\s+(&varname;)\s+of\s+(&varname;)\s+is"/>
540
<RegExpr attribute="Control" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ConfigurationRegion1"
541
String="&bos;end(\s+configuration)?(\s+%2)?\s*;"/>
542
<RegExpr attribute="Error" context="#pop#pop" insensitive="true" dynamic="true" endRegion="ConfigurationRegion1"
543
String="&bos;end(\s+configuration)?(\s+&varname;)\s*;"/>
546
<context name="conf_start" attribute="Control" lineEndContext="#stay" dynamic="true">
547
<IncludeRules context="preDetection"/>
548
<RegExpr attribute="Keyword" context="conf_decl" insensitive="true" String="&bos;is&eos;" />
549
<RegExpr attribute="Name" context="#stay" insensitive="true" String="&bos;%2&eos;" dynamic="true"/>
550
<RegExpr attribute="Reference" context="#stay" insensitive="true" String="&bos;%4&eos;" dynamic="true"/>
551
<IncludeRules context="generalDetection"/>
554
<context name="conf_decl" attribute="Normal Text" lineEndContext="#stay">
555
<IncludeRules context="preDetection"/>
556
<StringDetect attribute="Control" context="conf_for" insensitive="true" String="for"/>
557
<StringDetect attribute="Control" context="#pop#pop" insensitive="true" lookAhead="true" String="end"/>
558
<IncludeRules context="generalDetection"/>
561
<context name="conf_for" attribute="Normal Text" lineEndContext="#stay">
562
<IncludeRules context="preDetection"/>
563
<StringDetect attribute="Control" context="conf_for" insensitive="true" String="for"/>
564
<RegExpr attribute="Control" context="#pop" insensitive="true" String="end(\s+&varname;)?"/>
565
<IncludeRules context="generalDetection"/>
443
569
<!--====Basic Stuff ===============-->
444
570
<!-- basic rules -->
445
571
<context name="preDetection" attribute="Normal Text" lineEndContext="#stay">
446
<Detect2Chars attribute="Comment" context="comment" char="-" char1="-" />
447
<DetectChar attribute="Vector" context="string" char=""" />
448
<AnyChar attribute="Operator" context="#stay" String="[&><=:+\-*\/|].," />
449
<DetectChar attribute="Attribute" context="attribute" char="'" />
572
<Detect2Chars attribute="Comment" context="comment" char="-" char1="-"/>
573
<DetectChar attribute="Vector" context="string" char="""/>
574
<AnyChar attribute="Operator" context="#stay" String="[&><=:+\-*\/|].,"/>
575
<DetectChar attribute="Attribute" context="attribute" char="'"/>
452
580
<!-- general detection -->
453
<context name="generalDetection" attribute="Normal Text" lineEndContext="#stay">
454
<keyword attribute="Data Type" context="#stay" String="types"/>
455
<keyword attribute="Signal" context="signal" String="signals" beginRegion="sig"/>
456
<keyword attribute="Range" context="#stay" String="range"/>
457
<keyword attribute="Keyword" context="#stay" String="keywords"/>
458
<Int attribute="Integer" context="#stay" />
459
<HlCChar attribute="Bit" context="#stay" />
460
<DetectSpaces attribute="Normal Text" context="#stay" />
581
<context name="generalDetection" attribute="Normal Text" lineEndContext="#stay">
582
<keyword attribute="Data Type" context="#stay" String="types"/>
583
<keyword attribute="Data Type" context="#stay" String="timeunits"/>
584
<keyword attribute="Signal" context="signal" String="signals" beginRegion="sig"/>
585
<keyword attribute="Range" context="#stay" String="range"/>
586
<keyword attribute="Keyword" context="#stay" String="keywords"/>
587
<Int attribute="Integer" context="#stay"/>
588
<HlCChar attribute="Bit" context="#stay"/>
589
<DetectSpaces attribute="Normal Text" context="#stay"/>
463
592
<!-- other environments -->
464
<context name="comment" attribute="Comment" lineEndContext="#pop" />
593
<context name="comment" attribute="Comment" lineEndContext="#pop"/>
466
<context name="string" attribute="Vector" lineEndContext="#stay" >
467
<DetectChar attribute="Vector" context="#pop" char=""" />
595
<context name="string" attribute="Vector" lineEndContext="#stay">
596
<DetectChar attribute="Vector" context="#pop" char="""/>
470
599
<context name="attribute" attribute="Attribute" lineEndContext="#pop">
471
<DetectChar attribute="Attribute" context="quot in att" char=""" />
472
<DetectChar attribute="Normal Text" context="#pop" char=" " />
473
<DetectChar attribute="Attribute" context="#pop" char="'" />
474
<AnyChar attribute="Attribute" context="#pop" String="()=<>" />
600
<DetectChar attribute="Attribute" context="quot in att" char="""/>
601
<DetectChar attribute="Attribute" context="quot in att" char="""/>
602
<DetectChar attribute="Normal Text" context="#pop" char=" "/>
603
<DetectChar attribute="Attribute" context="#pop" char="'"/>
604
<AnyChar attribute="Attribute" context="#pop" String=")=<>"/>
477
607
<context name="quot in att" attribute="Attribute" lineEndContext="#stay">
478
<DetectChar attribute="Attribute" context="#pop" char=""" />
608
<DetectChar attribute="Attribute" context="#pop" char="""/>
481
611
<context name="signal" attribute="Normal Text" lineEndContext="#stay">
482
<IncludeRules context="preDetection" />
483
<DetectChar attribute="Normal Text" context="#pop" char=";" endRegion="sig" />
484
<IncludeRules context="generalDetection" />
612
<IncludeRules context="preDetection"/>
613
<DetectChar attribute="Normal Text" lookAhead="true" context="#pop" char=";" endRegion="sig"/>
614
<IncludeRules context="generalDetection"/>
490
<itemData name="Normal Text" defStyleNum="dsNormal" />
491
<itemData name="Keyword" defStyleNum="dsKeyword" />
492
<itemData name="Data Type" defStyleNum="dsDataType" />
493
<itemData name="Comment" defStyleNum="dsComment" />
494
<itemData name="Integer" defStyleNum="dsDecVal" />
495
<itemData name="Bit" defStyleNum="dsChar" />
496
<itemData name="Error" defStyleNum="dsError" color="#f00" bold="1" />
497
<itemData name="Vector" defStyleNum="dsString" />
498
<itemData name="Operator" defStyleNum="dsOthers" />
499
<itemData name="Attribute" defStyleNum="dsBaseN" />
500
<itemData name="Region Marker" defStyleNum="dsRegionMarker" />
620
<itemData name="Normal Text" defStyleNum="dsNormal"/>
621
<itemData name="Keyword" defStyleNum="dsKeyword"/>
622
<itemData name="Data Type" defStyleNum="dsDataType"/>
623
<itemData name="Comment" defStyleNum="dsComment"/>
624
<itemData name="Integer" defStyleNum="dsDecVal"/>
625
<itemData name="Bit" defStyleNum="dsChar"/>
626
<itemData name="Reference" defStyleNum="dsFunction"/>
627
<itemData name="Error" defStyleNum="dsError" color="#ff0000" bold="1"/>
628
<itemData name="Vector" defStyleNum="dsString"/>
629
<itemData name="Operator" defStyleNum="dsOthers"/>
630
<itemData name="Attribute" defStyleNum="dsBaseN"/>
631
<itemData name="Region Marker" defStyleNum="dsRegionMarker"/>
501
632
<itemData name="Signal" defStyleNum="dsOthers"/>
502
633
<itemData name="Range" defStyleNum="dsOthers"/>
503
<itemData name="Redirection" defStyleNum="dsKeyword" color="#238" />
504
<itemData name="Process" defStyleNum="dsKeyword" color="#09A" />
505
<itemData name="Control" defStyleNum="dsKeyword" color="#238" />
506
<itemData name="Name" defStyleNum="dsKeyword" color="#b60" bold="1" />
634
<itemData name="Redirection" defStyleNum="dsKeyword" color="#223388"/>
635
<itemData name="Process" defStyleNum="dsKeyword" color="#0099AA"/>
636
<itemData name="Control" defStyleNum="dsKeyword" color="#223388"/>
637
<itemData name="Name" defStyleNum="dsKeyword" color="#bb6600" bold="1"/>
511
<comment name="singleLine" start="--" />
642
<comment name="singleLine" start="--"/>
513
<keywords casesensitive="0" />
644
<keywords casesensitive="0"/>
b'\\ No newline at end of file'