.. hazmat:: Backend interfaces ================== .. currentmodule:: cryptography.hazmat.backends.interfaces Backend implementations may provide a number of interfaces to support operations such as :doc:`/hazmat/primitives/symmetric-encryption`, :doc:`/hazmat/primitives/cryptographic-hashes`, and :doc:`/hazmat/primitives/mac/hmac`. A specific ``backend`` may provide one or more of these interfaces. .. class:: CipherBackend A backend that provides methods for using ciphers for encryption and decryption. The following backends implement this interface: * :doc:`/hazmat/backends/openssl` * :doc:`/hazmat/backends/commoncrypto` .. method:: cipher_supported(cipher, mode) Check if a ``cipher`` and ``mode`` combination is supported by this backend. :param cipher: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.CipherAlgorithm` provider. :param mode: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.Mode` provider. :returns: ``True`` if the specified ``cipher`` and ``mode`` combination is supported by this backend, otherwise ``False`` .. method:: create_symmetric_encryption_ctx(cipher, mode) Create a :class:`~cryptography.hazmat.primitives.interfaces.CipherContext` that can be used for encrypting data with the symmetric ``cipher`` using the given ``mode``. :param cipher: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.CipherAlgorithm` provider. :param mode: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.Mode` provider. :returns: :class:`~cryptography.hazmat.primitives.interfaces.CipherContext` :raises ValueError: When tag is not None in an AEAD mode .. method:: create_symmetric_decryption_ctx(cipher, mode) Create a :class:`~cryptography.hazmat.primitives.interfaces.CipherContext` that can be used for decrypting data with the symmetric ``cipher`` using the given ``mode``. :param cipher: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.CipherAlgorithm` provider. :param mode: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.Mode` provider. :returns: :class:`~cryptography.hazmat.primitives.interfaces.CipherContext` :raises ValueError: When tag is None in an AEAD mode .. class:: HashBackend A backend with methods for using cryptographic hash functions. The following backends implement this interface: * :doc:`/hazmat/backends/openssl` * :doc:`/hazmat/backends/commoncrypto` .. method:: hash_supported(algorithm) Check if the specified ``algorithm`` is supported by this backend. :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider. :returns: ``True`` if the specified ``algorithm`` is supported by this backend, otherwise ``False``. .. method:: create_hash_ctx(algorithm) Create a :class:`~cryptography.hazmat.primitives.interfaces.HashContext` that uses the specified ``algorithm`` to calculate a message digest. :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider. :returns: :class:`~cryptography.hazmat.primitives.interfaces.HashContext` .. class:: HMACBackend A backend with methods for using cryptographic hash functions as message authentication codes. The following backends implement this interface: * :doc:`/hazmat/backends/openssl` * :doc:`/hazmat/backends/commoncrypto` .. method:: hmac_supported(algorithm) Check if the specified ``algorithm`` is supported by this backend. :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider. :returns: ``True`` if the specified ``algorithm`` is supported for HMAC by this backend, otherwise ``False``. .. method:: create_hmac_ctx(algorithm) Create a :class:`~cryptography.hazmat.primitives.interfaces.HashContext` that uses the specified ``algorithm`` to calculate a hash-based message authentication code. :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider. :returns: :class:`~cryptography.hazmat.primitives.interfaces.HashContext` .. class:: PBKDF2HMACBackend .. versionadded:: 0.2 A backend with methods for using PBKDF2 using HMAC as a PRF. The following backends implement this interface: * :doc:`/hazmat/backends/openssl` * :doc:`/hazmat/backends/commoncrypto` .. method:: pbkdf2_hmac_supported(algorithm) Check if the specified ``algorithm`` is supported by this backend. :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider. :returns: ``True`` if the specified ``algorithm`` is supported for PBKDF2 HMAC by this backend, otherwise ``False``. .. method:: derive_pbkdf2_hmac(self, algorithm, length, salt, iterations, key_material) :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider. :param int length: The desired length of the derived key. Maximum is (2\ :sup:`32` - 1) * ``algorithm.digest_size`` :param bytes salt: A salt. :param int iterations: The number of iterations to perform of the hash function. This can be used to control the length of time the operation takes. Higher numbers help mitigate brute force attacks against derived keys. :param bytes key_material: The key material to use as a basis for the derived key. This is typically a password. :return bytes: Derived key. .. class:: RSABackend .. versionadded:: 0.2 A backend with methods for using RSA. .. method:: generate_rsa_private_key(public_exponent, key_size) :param int public_exponent: The public exponent of the new key. Often one of the small Fermat primes 3, 5, 17, 257 or 65537. :param int key_size: The length in bits of the modulus. Should be at least 2048. :return: A new instance of a :class:`~cryptography.hazmat.primitives.interfaces.RSAPrivateKey` provider. :raises ValueError: If the public_exponent is not valid. .. method:: create_rsa_signature_ctx(private_key, padding, algorithm) .. deprecated:: 0.5 :param private_key: An instance of an :class:`~cryptography.hazmat.primitives.interfaces.RSAPrivateKey` provider. :param padding: An instance of an :class:`~cryptography.hazmat.primitives.interfaces.AsymmetricPadding` provider. :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider. :returns: :class:`~cryptography.hazmat.primitives.interfaces.AsymmetricSignatureContext` .. method:: create_rsa_verification_ctx(public_key, signature, padding, algorithm) .. deprecated:: 0.5 :param public_key: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.RSAPublicKey` provider. :param bytes signature: The signature to verify. :param padding: An instance of an :class:`~cryptography.hazmat.primitives.interfaces.AsymmetricPadding` provider. :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider. :returns: :class:`~cryptography.hazmat.primitives.interfaces.AsymmetricVerificationContext` .. method:: mgf1_hash_supported(algorithm) ..deprecated:: 0.5 Check if the specified ``algorithm`` is supported for use with :class:`~cryptography.hazmat.primitives.asymmetric.padding.MGF1` inside :class:`~cryptography.hazmat.primitives.asymmetric.padding.PSS` padding. This method is deprecated in favor of ``rsa_padding_supported``. :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider. :returns: ``True`` if the specified ``algorithm`` is supported by this backend, otherwise ``False``. .. method:: rsa_padding_supported(padding) Check if the specified ``padding`` is supported by the backend. :param padding: An instance of an :class:`~cryptography.hazmat.primitives.interfaces.AsymmetricPadding` provider. :returns: ``True`` if the specified ``padding`` is supported by this backend, otherwise ``False``. .. method:: generate_rsa_parameters_supported(public_exponent, key_size) Check if the specified parameters are supported for key generation by the backend. :param int public_exponent: The public exponent. :param int key_size: The bit length of the generated modulus. .. method:: decrypt_rsa(private_key, ciphertext, padding) .. deprecated:: 0.5 :param private_key: An instance of an :class:`~cryptography.hazmat.primitives.interfaces.RSAPrivateKey` provider. :param bytes ciphertext: The ciphertext to decrypt. :param padding: An instance of an :class:`~cryptography.hazmat.primitives.interfaces.AsymmetricPadding` provider. :return bytes: The decrypted data. :raises cryptography.exceptions.UnsupportedAlgorithm: If an unsupported MGF, hash function, or padding is chosen. :raises ValueError: When decryption fails or key size does not match ciphertext length. .. method:: encrypt_rsa(public_key, plaintext, padding) .. deprecated:: 0.5 :param public_key: An instance of an :class:`~cryptography.hazmat.primitives.interfaces.RSAPublicKey` provider. :param bytes plaintext: The plaintext to encrypt. :param padding: An instance of an :class:`~cryptography.hazmat.primitives.interfaces.AsymmetricPadding` provider. :return bytes: The encrypted data. :raises cryptography.exceptions.UnsupportedAlgorithm: If an unsupported MGF, hash function, or padding is chosen. :raises ValueError: When plaintext is too long for the key size. .. method:: load_rsa_private_numbers(numbers): :param numbers: An instance of :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers`. :returns: A provider of :class:`~cryptography.hazmat.primitives.interfaces.RSAPrivateKey`. :raises ValueError: This is raised when the values of ``p``, ``q``, ``private_exponent``, ``public_exponent``, or ``modulus`` do not match the bounds specified in :rfc:`3447`. :raises cryptography.exceptions.UnsupportedAlgorithm: This raised when any backend specific criteria are not met. .. method:: load_rsa_public_numbers(numbers): :param numbers: An instance of :class:`~cryptography.hazmat.primitives.asymmetric.rsa.RSAPrivateNumbers`. :returns: A provider of :class:`~cryptography.hazmat.primitives.interfaces.RSAPublicKey`. :raises ValueError: This is raised when the values of ``public_exponent`` or ``modulus`` do not match the bounds specified in :rfc:`3447`. :raises cryptography.exceptions.UnsupportedAlgorithm: This raised when any backend specific criteria are not met. .. class:: TraditionalOpenSSLSerializationBackend .. versionadded:: 0.3 A backend with methods for working with OpenSSL's "traditional" PKCS #1 style key serialization. .. method:: load_openssl_pem_private_key(data, password) :param bytes data: PEM data to deserialize. :param bytes password: The password to use if this data is encrypted. Should be None if the data is not encrypted. :return: A new instance of the appropriate private key or public key that the serialized data contains. :raises ValueError: If the data could not be deserialized correctly. :raises cryptography.exceptions.UnsupportedAlgorithm: If the data is encrypted with an unsupported algorithm. .. class:: DSABackend .. versionadded:: 0.4 A backend with methods for using DSA. .. method:: generate_dsa_parameters(key_size) :param int key_size: The length of the modulus in bits. It should be either 1024, 2048 or 3072. For keys generated in 2014 this should be at least 2048. Note that some applications (such as SSH) have not yet gained support for larger key sizes specified in FIPS 186-3 and are still restricted to only the 1024-bit keys specified in FIPS 186-2. :return: A new instance of a :class:`~cryptography.hazmat.primitives.interfaces.DSAParameters` provider. .. method:: generate_dsa_private_key(parameters) :param parameters: A :class:`~cryptography.hazmat.primitives.interfaces.DSAParameters` provider. :return: A new instance of a :class:`~cryptography.hazmat.primitives.interfaces.DSAPrivateKey` provider. :raises ValueError: This is raised if the key size is not one of 1024, 2048, or 3072. It is also raised when OpenSSL is older than version 1.0.0 and the key size is larger than 1024; older OpenSSL versions do not support keys larger than 1024 bits. .. method:: generate_dsa_private_key_and_parameters(key_size) :param int key_size: The length of the modulus in bits. It should be either 1024, 2048 or 3072. For keys generated in 2014 this should be at least 2048. Note that some applications (such as SSH) have not yet gained support for larger key sizes specified in FIPS 186-3 and are still restricted to only the 1024-bit keys specified in FIPS 186-2. :return: A new instance of a :class:`~cryptography.hazmat.primitives.interfaces.DSAPrivateKey` provider. :raises ValueError: This is raised if the key size is not supported by the backend. .. method:: create_dsa_signature_ctx(private_key, algorithm) .. deprecated:: 0.5 :param private_key: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.DSAPrivateKey` provider. :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider :returns: :class:`~cryptography.hazmat.primitives.interfaces.AsymmetricSignatureContext` .. method:: create_dsa_verification_ctx(public_key, signature, algorithm) .. deprecated:: 0.5 :param public_key: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.DSAPublicKey` provider. :param bytes signature: The signature to verify. DER encoded as specified in :rfc:`6979`. :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider. :returns: :class:`~cryptography.hazmat.primitives.interfaces.AsymmetricVerificationContext` .. method:: dsa_hash_supported(algorithm): :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.HashAlgorithm` provider. :returns: ``True`` if the specified ``algorithm`` is supported by this backend, otherwise ``False``. .. method:: dsa_parameters_supported(p, q, g): :param int p: The p value of a DSA key. :param int q: The q value of a DSA key. :param int g: The g value of a DSA key. :returns: ``True`` if the given values of ``p``, ``q``, and ``g`` are supported by this backend, otherwise ``False``. .. method:: load_dsa_parameter_numbers(numbers): :param numbers: An instance of :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAParameterNumbers`. :returns: A provider of :class:`~cryptography.hazmat.primitives.interfaces.DSAParameters`. :raises cryptography.exceptions.UnsupportedAlgorithm: This raised when any backend specific criteria are not met. .. method:: load_dsa_private_numbers(numbers): :param numbers: An instance of :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPrivateNumbers`. :returns: A provider of :class:`~cryptography.hazmat.primitives.interfaces.DSAPrivateKey`. :raises cryptography.exceptions.UnsupportedAlgorithm: This raised when any backend specific criteria are not met. .. method:: load_dsa_public_numbers(numbers): :param numbers: An instance of :class:`~cryptography.hazmat.primitives.asymmetric.dsa.DSAPublicNumbers`. :returns: A provider of :class:`~cryptography.hazmat.primitives.interfaces.DSAPublicKey`. :raises cryptography.exceptions.UnsupportedAlgorithm: This raised when any backend specific criteria are not met. .. class:: CMACBackend .. versionadded:: 0.4 A backend with methods for using CMAC .. method:: cmac_algorithm_supported(algorithm) :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.BlockCipherAlgorithm` provider. :return: Returns True if the block cipher is supported for CMAC by this backend .. method:: create_cmac_ctx(algorithm) Create a :class:`~cryptography.hazmat.primitives.interfaces.CMACContext` that uses the specified ``algorithm`` to calculate a message authentication code. :param algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.BlockCipherAlgorithm` provider. :returns: :class:`~cryptography.hazmat.primitives.interfaces.CMACContext` .. class:: PKCS8SerializationBackend .. versionadded:: 0.5 A backend with methods for working with PKCS #8 key serialization. .. method:: load_pkcs8_pem_private_key(data, password) :param bytes data: PEM data to deserialize. :param bytes password: The password to use if this data is encrypted. Should be None if the data is not encrypted. :return: A new instance of the appropriate private key or public key that the serialized data contains. :raises ValueError: If the data could not be deserialized correctly. :raises cryptography.exceptions.UnsupportedAlgorithm: If the data is encrypted with an unsupported algorithm. .. class:: EllipticCurveBackend .. versionadded:: 0.5 .. method:: elliptic_curve_supported(curve) :param curve: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurve` provider. :returns: True if the elliptic curve is supported by this backend. .. method:: elliptic_curve_signature_algorithm_supported(signature_algorithm, curve) :param signature_algorithm: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurveSignatureAlgorithm` provider. :param curve: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurve` provider. :returns: True if the signature algorithm and curve are supported by this backend. .. method:: generate_elliptic_curve_private_key(curve) :param curve: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurve` provider. .. method:: elliptic_curve_private_key_from_numbers(numbers) :param numbers: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurvePrivateNumbers` provider. :returns: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurvePrivateKey` provider. .. method:: elliptic_curve_public_key_from_numbers(numbers) :param numbers: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurvePublicNumbers` provider. :returns: An instance of a :class:`~cryptography.hazmat.primitives.interfaces.EllipticCurvePublicKey` provider. 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799
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_Pkg = 780
Ieee = 780
Std_Logic_1164 = 781
VITAL_Timing = 782
Numeric_Std = 783
Numeric_Bit = 784
Std_Logic_Arith = 785
Std_Logic_Signed = 786
Std_Logic_Unsigned = 787
Std_Logic_Textio = 788
Std_Logic_Misc = 789
Math_Real = 790
Last_Ieee_Pkg = 790
First_Ieee_Name = 791
Std_Ulogic = 791
Std_Ulogic_Vector = 792
Std_Logic = 793
Std_Logic_Vector = 794
Rising_Edge = 795
Falling_Edge = 796
VITAL_Level0 = 797
VITAL_Level1 = 798
Unresolved_Unsigned = 799
Unresolved_Signed = 800
To_Integer = 801
To_Unsigned = 802
To_Signed = 803
Resize = 804
Std_Match = 805
Shift_Left = 806
Shift_Right = 807
Rotate_Left = 808
Rotate_Right = 809
To_Bit = 810
To_Bitvector = 811
To_Stdulogic = 812
To_Stdlogicvector = 813
To_Stdulogicvector = 814
Is_X = 815
To_01 = 816
Conv_Signed = 817
Conv_Unsigned = 818
Conv_Integer = 819
Conv_Std_Logic_Vector = 820
And_Reduce = 821
Nand_Reduce = 822
Or_Reduce = 823
Nor_Reduce = 824
Xor_Reduce = 825
Xnor_Reduce = 826
Ceil = 827
Round = 828
Log2 = 829
Sin = 830
Cos = 831
Last_Ieee_Name = 831
First_Synthesis = 832
Allconst = 832
Allseq = 833
Anyconst = 834
Anyseq = 835
Last_Synthesis = 835
First_Directive = 836
Define = 836
Endif = 837
Ifdef = 838
Ifndef = 839
Include = 840
Timescale = 841
Undef = 842
Protect = 843
Begin_Protected = 844
End_Protected = 845
Key_Block = 846
Data_Block = 847
Line = 848
Celldefine = 849
Endcelldefine = 850
Default_Nettype = 851
Resetall = 852
Last_Directive = 852
First_Systask = 853
Bits = 853
D_Root = 854
D_Unit = 855
Last_Systask = 855
First_SV_Method = 856
Size = 856
Insert = 857
Delete = 858
Pop_Front = 859
Pop_Back = 860
Push_Front = 861
Push_Back = 862
Name = 863
Len = 864
Substr = 865
Exists = 866
Atoi = 867
Itoa = 868
Find = 869
Find_Index = 870
Find_First = 871
Find_First_Index = 872
Find_Last = 873
Find_Last_Index = 874
Num = 875
Randomize = 876
Pre_Randomize = 877
Post_Randomize = 878
Srandom = 879
Get_Randstate = 880
Set_Randstate = 881
Seed = 882
State = 883
Last_SV_Method = 883
First_BSV = 884
uAction = 884
uActionValue = 885
BVI = 886
uC = 887
uCF = 888
uE = 889
uSB = 890
uSBR = 891
Action = 892
Endaction = 893
Actionvalue = 894
Endactionvalue = 895
Ancestor = 896
Clocked_By = 897
Default_Clock = 898
Default_Reset = 899
Dependencies = 900
Deriving = 901
Determines = 902
Enable = 903
Ifc_Inout = 904
Input_Clock = 905
Input_Reset = 906
Instance = 907
Endinstance = 908
Let = 909
Match = 910
Method = 911
Endmethod = 912
Numeric = 913
Output_Clock = 914
Output_Reset = 915
Par = 916
Endpar = 917
Path = 918
Provisos = 919
Ready = 920
Reset_By = 921
Rule = 922
Endrule = 923
Rules = 924
Endrules = 925
Same_Family = 926
Schedule = 927
Seq = 928
Endseq = 929
Typeclass = 930
Endtypeclass = 931
Valueof = 932
uValueof = 933
Last_BSV = 933
First_Comment = 934
Psl = 934
Pragma = 935
Synthesis = 936
Synopsys = 937
Translate_Off = 938
Translate_On = 939
Translate = 940
Off = 941
Last_Comment = 941
First_PSL = 942
A = 942
Af = 943
Ag = 944
Ax = 945
Abort = 946
Assume_Guarantee = 947
Before = 948
Clock = 949
E = 950
Ef = 951
Eg = 952
Ex = 953
Endpoint = 954
Eventually = 955
Fairness = 956
Fell = 957
Forall = 958
G = 959
Inf = 960
Inherit = 961
Never = 962
Next_A = 963
Next_E = 964
Next_Event = 965
Next_Event_A = 966
Next_Event_E = 967
Prev = 968
Rose = 969
Strong = 970
W = 971
Whilenot = 972
Within = 973
X = 974
Last_PSL = 974
First_Edif = 975
Celltype = 985
View = 986
Viewtype = 987
Direction = 988
Contents = 989
Net = 990
Viewref = 991
Cellref = 992
Libraryref = 993
Portinstance = 994
Joined = 995
Portref = 996
Instanceref = 997
Design = 998
Designator = 999
Owner = 1000
Member = 1001
Number = 1002
Rename = 1003
Userdata = 1004
Last_Edif = 1004