// dear imgui: Renderer + Platform Binding for Allegro 5
// (Info: Allegro 5 is a cross-platform general purpose library for handling windows, inputs, graphics, etc.)
// Implemented features:
// [X] Renderer: User texture binding. Use 'ALLEGRO_BITMAP*' as ImTextureID. Read the FAQ about ImTextureID in imgui.cpp.
// [X] Platform: Clipboard support (from Allegro 5.1.12)
// [X] Platform: Mouse cursor shape and visibility. Disable with 'io.ConfigFlags |= ImGuiConfigFlags_NoMouseCursorChange'.
// Issues:
// [ ] Renderer: The renderer is suboptimal as we need to unindex our buffers and convert vertices manually.
// [ ] Platform: Missing gamepad support.
// You can copy and use unmodified imgui_impl_* files in your project. See main.cpp for an example of using this.
// If you are new to dear imgui, read examples/README.txt and read the documentation at the top of imgui.cpp.
// https://github.com/ocornut/imgui, Original Allegro 5 code by @birthggd
// CHANGELOG
// (minor and older changes stripped away, please see git history for details)
// 2018-06-13: Platform: Added clipboard support (from Allegro 5.1.12).
// 2018-06-13: Renderer: Use draw_data->DisplayPos and draw_data->DisplaySize to setup projection matrix and clipping rectangle.
// 2018-06-13: Renderer: Backup/restore transform and clipping rectangle.
// 2018-06-11: Misc: Setup io.BackendFlags ImGuiBackendFlags_HasMouseCursors flag + honor ImGuiConfigFlags_NoMouseCursorChange flag.
// 2018-04-18: Misc: Renamed file from imgui_impl_a5.cpp to imgui_impl_allegro5.cpp.
// 2018-04-18: Misc: Added support for 32-bits vertex indices to avoid conversion at runtime. Added imconfig_allegro5.h to enforce 32-bit indices when included from imgui.h.
// 2018-02-16: Misc: Obsoleted the io.RenderDrawListsFn callback and exposed ImGui_ImplAllegro5_RenderDrawData() in the .h file so you can call it yourself.
// 2018-02-06: Misc: Removed call to ImGui::Shutdown() which is not available from 1.60 WIP, user needs to call CreateContext/DestroyContext themselves.
// 2018-02-06: Inputs: Added mapping for ImGuiKey_Space.
#include <stdint.h> // uint64_t
#include <cstring> // memcpy
#include "imgui.h"
#include "imgui_impl_allegro5.h"
// Allegro
#include <allegro5/allegro.h>
#include <allegro5/allegro_primitives.h>
#ifdef _WIN32
#include <allegro5/allegro_windows.h>
#endif
#define ALLEGRO_HAS_CLIPBOARD (ALLEGRO_VERSION_INT >= ((5 << 24) | (1 << 16) | (12 << 8))) // Clipboard only supported from Allegro 5.1.12
// Visual Studio warnings
#ifdef _MSC_VER
#pragma warning (disable: 4127) // condition expression is constant
#endif
// Data
static ALLEGRO_DISPLAY* g_Display = NULL;
static ALLEGRO_BITMAP* g_Texture = NULL;
static double g_Time = 0.0;
static ALLEGRO_MOUSE_CURSOR* g_MouseCursorInvisible = NULL;
static ALLEGRO_VERTEX_DECL* g_VertexDecl = NULL;
static char* g_ClipboardTextData = NULL;
struct ImDrawVertAllegro
{
ImVec2 pos;
ImVec2 uv;
ALLEGRO_COLOR col;
};
// Render function.
// (this used to be set in io.RenderDrawListsFn and called by ImGui::Render(), but you can now call this directly from your main loop)
void ImGui_ImplAllegro5_RenderDrawData(ImDrawData* draw_data)
{
// Backup Allegro state that will be modified
ALLEGRO_TRANSFORM last_transform = *al_get_current_transform();
ALLEGRO_TRANSFORM last_projection_transform = *al_get_current_projection_transform();
int last_clip_x, last_clip_y, last_clip_w, last_clip_h;
al_get_clipping_rectangle(&last_clip_x, &last_clip_y, &last_clip_w, &last_clip_h);
int last_blender_op, last_blender_src, last_blender_dst;
al_get_blender(&last_blender_op, &last_blender_src, &last_blender_dst);
// Setup render state
al_set_blenderpre { line-height: 125%; margin: 0; }
td.linenos pre { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
span.linenos { color: #000000; background-color: #f0f0f0; padding: 0 5px 0 5px; }
td.linenos pre.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding: 0 5px 0 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #ffffff; }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { color: #888888 } /* Comment.PreprocFile */
.highlight .c1 { color: #888888 } /* Comment.Single */
.highlight .cs { color: #cc0000; font-weight: bold; background-color: #fff0f0 } /* Comment.Special */
.highlight .gd { color: #000000; background-color: #ffdddd } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .gr { color: #aa0000 } /* Generic.Error */
.highlight .gh { color: #333333 } /* Generic.Heading */
.highlight .gi { color: #000000; background-color: #ddffdd } /* Generic.Inserted */
.highlight .go { color: #888888 } /* Generic.Output */
.highlight .gp { color: #555555 } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #666666 } /* Generic.Subheading */
.highlight .gt { color: #aa0000 } /* Generic.Traceback */
.highlight .kc { color: #008800; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008800; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008800; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008800 } /* Keyword.Pseudo */
.highlight .kr { color: #008800; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #888888; font-weight: bold } /* Keyword.Type */
.highlight .m { color: #0000DD; font-weight: bold } /* Literal.Number */
.highlight .s { color: #dd2200; background-color: #fff0f0 } /* Literal.String */
.highlight .na { color: #336699 } /* Name.Attribute */
.highlight .nb { color: #003388 } /* Name.Builtin */
.highlight .nc { color: #bb0066; font-weight: bold } /* Name.Class */
.highlight .no { color: #003366; font-weight: bold } /* Name.Constant */
.highlight .nd { color: #555555 } /* Name.Decorator */
.highlight .ne { color: #bb0066; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #0066bb; font-weight: bold } /* Name.Function */
.highlight .nl { color: #336699; font-style: italic } /* Name.Label */
.highlight .nn { color: #bb0066; font-weight: bold } /* Name.Namespace */
.highlight .py { color: #336699; font-weight: bold } /* Name.Property */
.highlight .nt { color: #bb0066; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #336699 } /* Name.Variable */
.highlight .ow { color: #008800 } /* Operator.Word */
.highlight .w { color: #bbbbbb } /* Text.Whitespace */
.highlight .mb { color: #0000DD; font-weight: bold } /* Literal.Number.Bin */
.highlight .mf { color: #0000DD; font-weight: bold } /* Literal.Number.Float */
.highlight .mh { color: #0000DD; font-weight: bold } /* Literal.Number.Hex */
.highlight .mi { color: #0000DD; font-weight: bold } /* Literal.Number.Integer */
.highlight .mo { color: #0000DD; font-weight: bold } /* Literal.Number.Oct */
.highlight .sa { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Affix */
.highlight .sb { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Backtick */
.highlight .sc { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Char */
.highlight .dl { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Delimiter */
.highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */
.highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */
.highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */
.highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */
.highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */
.highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */
.highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */
.highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */
.highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */
.highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */
.highlight .vc { color: #336699 } /* Name.Variable.Class */
.highlight .vg { color: #dd7700 } /* Name.Variable.Global */
.highlight .vi { color: #3333bb } /* Name.Variable.Instance */
.highlight .vm { color: #336699 } /* Name.Variable.Magic */
.highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */class Name:
First_Character = 1
Last_Character = 256
First_Keyword = 257
Mod = 257
Rem = 258
Abs = 259
Not = 260
Access = 261
After = 262
Alias = 263
All = 264
Architecture = 265
Array = 266
Assert = 267
Attribute = 268
Begin = 269
Block = 270
Body = 271
Buffer = 272
Bus = 273
Case = 274
Component = 275
Configuration = 276
Constant = 277
Disconnect = 278
Downto = 279
Else = 280
Elsif = 281
End = 282
Entity = 283
Exit = 284
File = 285
For = 286
Function = 287
Generate = 288
Generic = 289
Guarded = 290
If = 291
In = 292
Inout = 293
Is = 294
Label = 295
Library = 296
Linkage = 297
Loop = 298
Map = 299
New = 300
Next = 301
Null = 302
Of = 303
On = 304
Open = 305
Others = 306
Out = 307
Package = 308
Port = 309
Procedure = 310
Process = 311
Range = 312
Record = 313
Register = 314
Report = 315
Return = 316
Select = 317
Severity = 318
Signal = 319
Subtype = 320
Then = 321
To = 322
Transport = 323
Type = 324
Units = 325
Until = 326
Use = 327
Variable = 328
Wait = 329
When = 330
While = 331
With = 332
And = 333
Or = 334
Xor = 335
Nand = 336
Nor = 337
Last_Vhdl87 = 337
Xnor = 338
Group = 339
Impure = 340
Inertial = 341
Literal = 342
Postponed = 343
Pure = 344
Reject = 345
Shared = 346
Unaffected = 347
Sll = 348
Sla = 349
Sra = 350
Srl = 351
Rol = 352
Ror = 353
Last_Vhdl93 = 353
Protected = 354
Last_Vhdl00 = 354
Assume = 355
Context = 356
Cover = 357
Default = 358
Parameter = 359
Property = 360
Restrict = 361
Restrict_Guarantee = 362
Sequence = 363
Vmode = 364
Vprop = 365
Vunit = 366
Last_Vhdl08 = 366
First_Ams_Keyword = 367
Across = 367
Break = 368
Limit = 369
Nature = 370
Noise = 371
Procedural = 372
Quantity = 373
Reference = 374
Spectrum = 375
Subnature = 376
Terminal = 377
Through = 378
Tolerance = 379
Last_AMS_Vhdl = 379
Last_Keyword = 379
First_Verilog = 380
Always = 380
Assign = 381
Buf = 382
Bufif0 = 383
Bufif1 = 384
Casex = 385
Casez = 386
Cmos = 387
Deassign = 388
Defparam = 389
Disable = 390
Edge = 391
Endcase = 392
Endfunction = 393
Endmodule = 394
Endprimitive = 395
Endspecify = 396
Endtable = 397
Endtask = 398
Force = 399
Forever = 400
Fork = 401
Highz0 = 402
Highz1 = 403
Ifnone = 404
Initial = 405
Input = 406
Join = 407
Large = 408
Macromodule = 409
Medium = 410
Module = 411
Negedge = 412
Nmos = 413
Notif0 = 414
Notif1 = 415
Output = 416
Pmos = 417
Posedge = 418
Primitive = 419
Pull0 = 420
Pull1 = 421
Pulldown = 422
Pullup = 423
Realtime = 424
Release = 425
Reg = 426
Repeat = 427
Rcmos = 428
Rnmos = 429
Rpmos = 430
Rtran = 431
Rtranif0 = 432
Rtranif1 = 433
Scalared = 434
Small = 435
Specify = 436
Specparam = 437
Strong0 = 438
Strong1 = 439
Supply0 = 440
Supply1 = 441
Tablex = 442
Task = 443
Tran = 444
Tranif0 = 445
Tranif1 = 446
Tri = 447
Tri0 = 448
Tri1 = 449
Triand = 450
Trior = 451
Trireg = 452
Vectored = 453
Wand = 454
Weak0 = 455
Weak1 = 456
Wire = 457
Wor = 458
Last_Verilog = 458
First_V2001 = 459
Automatic = 459
Endgenerate = 460
Genvar = 461
Localparam = 462
Unsigned = 463
Signed = 464
Last_V2001 = 464
Uwire = 465
First_SV3_0 = 466
Always_Comb = 466
Always_Ff = 467
Always_Latch = 468
Bit = 469
Byte = 470
Changed = 471
Char = 472
Const = 473
Continue = 474
Do = 475
Endinterface = 476
Endtransition = 477
Enum = 478
Export = 479
Extern = 480
Forkjoin = 481
Iff = 482
Import = 483
Int = 484
Interface = 485
Logic = 486
Longint = 487
Longreal = 488
Modport = 489
Packed = 490
Priority = 491
Shortint = 492
Shortreal = 493
Static = 494
Struct = 495
Timeprecision = 496
Timeunit = 497
Transition = 498
Typedef = 499
Union = 500
Unique = 501
Unique0 = 502
Void = 503
Last_SV3_0 = 503
First_SV3_1 = 504
Chandle = 504
Class = 505
Clocking = 506
Constraint = 507
Dist = 508
Endclass = 509
Endclocking = 510
Endprogram = 511
Endproperty = 512
Endsequence = 513
Extends = 514
Final = 515
First_Match = 516
Inside = 517
Intersect = 518
Join_Any = 519
Join_None = 520
Local = 521
Program = 522
Rand = 523
Randc = 524
Ref = 525
Solve = 526
String = 527
Super = 528
This = 529
Throughout = 530
Var = 531
Virtual = 532
Wait_Order = 533
Last_SV3_1 = 533
First_SV3_1a = 534
Covergroup = 534
Coverpoint = 535
Endgroup = 536
Endpackage = 537
Expect = 538
Foreach = 539
Ignore_Bins = 540
Illegal_Bins = 541
Matches = 542
Randcase = 543
Randsequence = 544
Tagged = 545
Wildcard = 546
Last_SV3_1a = 546
First_SV2009 = 547
Implies = 547
S_Until = 548
S_Until_With = 549
Until_With = 550
Last_SV2009 = 550
First_Operator = 551
Op_Equality = 551
Op_Inequality = 552
Op_Less = 553
Op_Less_Equal = 554
Op_Greater = 555
Op_Greater_Equal = 556
Op_Plus = 557
Op_Minus = 558
Op_Mul = 559
Op_Div = 560
Op_Exp = 561
Op_Concatenation = 562
Op_Condition = 563
Op_Match_Equality = 564
Op_Match_Inequality = 565
Op_Match_Less = 566
Op_Match_Less_Equal = 567
Op_Match_Greater = 568
Op_Match_Greater_Equal = 569
Last_Operator = 569
First_Attribute = 570
Base = 570
Left = 571
Right = 572
High = 573
Low = 574
Pos = 575
Val = 576
Succ = 577
Pred = 578
Leftof = 579
Rightof = 580
Reverse_Range = 581
Length = 582
Delayed = 583
Stable = 584
Quiet = 585
Transaction = 586
Event = 587
Active = 588
Last_Event = 589
Last_Active = 590
Last_Value = 591
Last_Attribute = 591
First_Vhdl87_Attribute = 592
Behavior = 592
Structure = 593
Last_Vhdl87_Attribute = 593
First_Vhdl93_Attribute = 594
Ascending = 594
Image = 595
Value = 596
Driving = 597
Driving_Value = 598
Simple_Name = 599
Instance_Name = 600
Path_Name = 601
Last_Vhdl93_Attribute = 601
First_Vhdl08_Attribute = 602
Element = 602
Last_Vhdl08_Attribute = 602
First_AMS_Attribute = 603
Contribution = 603
Dot = 604
Integ = 605
Above = 606
Zoh = 607
Ltf = 608
Ztf = 609
Ramp = 610
Slew = 611
Last_AMS_Attribute = 611
First_Standard = 612
Std = 612
Standard = 613
Boolean = 614
NFalse = 615
NTrue = 616
Character = 617
Severity_Level = 618
Note = 619
Warning = 620
Error = 621
Failure = 622
Universal_Integer = 623
Universal_Real = 624
Convertible_Integer = 625
Convertible_Real = 626
Integer = 627
Real = 628
Time = 629
Fs = 630
Ps = 631
Ns = 632
Us = 633
Ms = 634
Sec = 635
Min = 636
Hr = 637
Max = 638
Delay_Length = 639
Now = 640
Natural = 641
Positive = 642
Bit_Vector = 643
File_Open_Kind = 644
Read_Mode = 645
Write_Mode = 646
Append_Mode = 647
File_Open_Status = 648
Open_Ok = 649
Status_Error = 650
Name_Error = 651
Mode_Error = 652
Foreign = 653
Boolean_Vector = 654
To_Bstring = 655
To_Binary_String = 656
To_Ostring = 657
To_Octal_String = 658
To_Hstring = 659
To_Hex_String = 660
Integer_Vector = 661
Real_Vector = 662
Time_Vector = 663
Digits = 664
Format = 665
Unit = 666
Domain_Type = 667
Quiescent_Domain = 668
Time_Domain = 669
Frequency_Domain = 670
Domain = 671
Frequency = 672
Last_Standard = 672
First_Charname = 673
Nul = 673
Soh = 674
Stx = 675
Etx = 676
Eot = 677
Enq = 678
Ack = 679
Bel = 680
Bs = 681
Ht = 682
Lf = 683
Vt = 684
Ff = 685
Cr = 686
So = 687
Si = 688
Dle = 689
Dc1 = 690
Dc2 = 691
Dc3 = 692
Dc4 = 693
Nak = 694
Syn = 695
Etb = 696
Can = 697
Em = 698
Sub = 699
Esc = 700
Fsp = 701
Gsp = 702
Rsp = 703
Usp = 704
Del = 705
C128 = 706
C129 = 707
C130 = 708
C131 = 709
C132 = 710
C133 = 711
C134 = 712
C135 = 713
C136 = 714
C137 = 715
C138 = 716
C139 = 717
C140 = 718
C141 = 719
C142 = 720
C143 = 721
C144 = 722
C145 = 723
C146 = 724
C147 = 725
C148 = 726
C149 = 727
C150 = 728
C151 = 729
C152 = 730
C153 = 731
C154 = 732
C155 = 733
C156 = 734
C157 = 735
C158 = 736
C159 = 737
Last_Charname = 737
First_Misc = 738
Guard = 738
Deallocate = 739
File_Open = 740
File_Close = 741
Read = 742
Write = 743
Flush = 744
Endfile = 745
I = 746
J = 747
F = 748
L = 749
P = 750
R = 751
S = 752
V = 753
External_Name = 754
Open_Kind = 755
First = 756
Last = 757
Textio = 758
Work = 759
Text = 760
To_String = 761
Minimum = 762
Maximum = 763
Untruncated_Text_Read = 764
Textio_Read_Real = 765
Textio_Write_Real = 766
Get_Resolution_Limit = 767
Control_Simulation = 768
Step = 769
Index = 770
Item = 771
Uu_File_Uu = 772
Uu_Line_Uu = 773
Label_Applies_To = 774
Return_Port_Name = 775
Map_To_Operator = 776
Type_Function = 777
Built_In = 778
NNone = 779
Last_Misc = 779
First_Ieee = 780
Ieee = 780
Std_Logic_1164 = 781
Std_Ulogic = 782
Std_Ulogic_Vector = 783
Std_Logic = 784
Std_Logic_Vector = 785
Rising_Edge = 786
Falling_Edge = 787
VITAL_Timing = 788
VITAL_Level0 = 789
VITAL_Level1 = 790
Numeric_Std = 791
Numeric_Bit = 792
Unresolved_Unsigned = 793
Unresolved_Signed = 794
Std_Logic_Arith = 795
Std_Logic_Signed = 796
Std_Logic_Unsigned = 797
Std_Logic_Textio = 798
To_Integer = 799
To_Unsigned = 800
To_Signed = 801
Resize = 802
Std_Match = 803
Shift_Left = 804
Shift_Right = 805
Rotate_Left = 806
Rotate_Right = 807
To_Bit = 808
To_Bitvector = 809
To_Stdulogic = 810
To_Stdlogicvector = 811
To_Stdulogicvector = 812
Is_X = 813
Conv_Signed = 814
Conv_Unsigned = 815
Conv_Integer = 816
Math_Real = 817
Ceil = 818
Round = 819
Log2 = 820
Sin = 821
Cos = 822
Last_Ieee = 822
First_Synthesis = 823
Allconst = 823
Allseq = 824
Anyconst = 825
Anyseq = 826
Last_Synthesis = 826
First_Directive = 827
Define = 827
Endif = 828
Ifdef = 829
Ifndef = 830
Include = 831
Timescale = 832
Undef = 833
Protect = 834
Begin_Protected = 835
End_Protected = 836
Key_Block = 837
Data_Block = 838
Line = 839
Celldefine = 840
Endcelldefine = 841
Default_Nettype = 842
Resetall = 843
Last_Directive = 843
First_Systask = 844
Bits = 844
D_Root = 845
D_Unit = 846
Last_Systask = 846
First_SV_Method = 847
Size = 847
Insert = 848
Delete = 849
Pop_Front = 850
Pop_Back = 851
Push_Front = 852
Push_Back = 853
Name = 854
Len = 855
Substr = 856
Exists = 857
Atoi = 858
Itoa = 859
Find = 860
Find_Index = 861
Find_First = 862
Find_First_Index = 863
Find_Last = 864
Find_Last_Index = 865
Num = 866
Randomize = 867
Pre_Randomize = 868
Post_Randomize = 869
Srandom = 870
Get_Randstate = 871
Set_Randstate = 872
Seed = 873
State = 874
Last_SV_Method = 874
First_BSV = 875
uAction = 875
uActionValue = 876
BVI = 877
uC = 878
uCF = 879
uE = 880
uSB = 881
uSBR = 882
Action = 883
Endaction = 884
Actionvalue = 885
Endactionvalue = 886
Ancestor = 887
Clocked_By = 888
Default_Clock = 889
Default_Reset = 890
Dependencies = 891
Deriving = 892
Determines = 893
Enable = 894
Ifc_Inout = 895
Input_Clock = 896
Input_Reset = 897
Instance = 898
Endinstance = 899
Let = 900
Match = 901
Method = 902
Endmethod = 903
Numeric = 904
Output_Clock = 905
Output_Reset = 906
Par = 907
Endpar = 908
Path = 909
Provisos = 910
Ready = 911
Reset_By = 912
Rule = 913
Endrule = 914
Rules = 915
Endrules = 916
Same_Family = 917
Schedule = 918
Seq = 919
Endseq = 920
Typeclass = 921
Endtypeclass = 922
Valueof = 923
uValueof = 924
Last_BSV = 924
First_Comment = 925
Psl = 925
Pragma = 926
Synthesis = 927
Synopsys = 928
Translate_Off = 929
Translate_On = 930
Last_Comment = 930
First_PSL = 931
A = 931
Af = 932
Ag = 933
Ax = 934
Abort = 935
Assume_Guarantee = 936
Before = 937
Clock = 938
E = 939
Ef = 940
Eg = 941
Ex = 942
Endpoint = 943
Eventually = 944
Fairness = 945
Fell = 946
Forall = 947
G = 948
Inf = 949
Inherit = 950
Never = 951
Next_A = 952
Next_E = 953
Next_Event = 954
Next_Event_A = 955
Next_Event_E = 956
Prev = 957
Rose = 958
Strong = 959
W = 960
Whilenot = 961
Within = 962
X = 963
Last_PSL = 963
First_Edif = 964
Celltype = 974
View = 975
Viewtype = 976
Direction = 977
Contents = 978
Net = 979
Viewref = 980
Cellref = 981
Libraryref = 982
Portinstance = 983
Joined = 984
Portref = 985
Instanceref = 986
Design = 987
Designator = 988
Owner = 989
Member = 990
Number = 991
Rename = 992
Userdata = 993
Last_Edif = 993