• Top
    • Documentation
    • Books
    • Boolean-reasoning
    • Projects
      • Apt
      • Zfc
      • Acre
      • Milawa
      • Smtlink
      • Abnf
      • Vwsim
      • Isar
      • Pfcs
      • Wp-gen
      • Dimacs-reader
      • Legacy-defrstobj
      • Proof-checker-array
      • Soft
      • C
      • Farray
      • Rp-rewriter
      • Instant-runoff-voting
      • Imp-language
      • Sidekick
      • Leftist-trees
      • Java
      • Taspi
      • Riscv
      • Bitcoin
      • Des
      • Ethereum
      • X86isa
      • Sha-2
      • Yul
      • Zcash
      • Proof-checker-itp13
      • Regex
      • ACL2-programming-language
      • Json
      • Jfkr
      • Equational
      • Cryptography
      • Poseidon
      • Where-do-i-place-my-book
      • Axe
      • Aleo
        • Aleobft
        • Aleovm
          • Circuits
          • Language
            • Grammar
            • Early-version
              • Abstract-syntax
              • Parser
                • Lex-record
                • Lex-group-escaped-char-body
                • Lex-group-instruction-body
                • Lex-increment
                • Lex-decrement
                • Lex-value-type
                • Lex-unary-op
                • Lex-rest-of-block-comment-fns
                • Lex-not-dq-or-backslash
                • Lex-not-star-or-slash
                • *defparse-aleo-group-table*
                • Lex-hex-digit
                • Lex-transition-output
                • Lex-transition-input
                • Lex-binary-op
                • Lex-transition
                • Lex-mapping-value
                • Lex-group-program-declaration
                • Lex-function-output
                • Lex-function-input
                • Lex-finalize-output
                • Lex-finalize-input
                • Lex-program
                • Lex-not-star
                • Lex-mapping-key
                • Lex-hash-op
                • *defparse-aleo-repetition-table*
                • Lex-cast
                • Lex-call
                • Lex-unsigned-type
                • Lex-signed-type
                • Lex-function
                • Lex-finalize-type
                • Lex-finalize
                • Lex-commit
                • Lex-is
                • Lex-register-type
                • Lex-mapping
                • Lex-group-entry-type-visibility
                • Lex-group-bhp-sizes
                • Lex-arithmetic-literal
                • Lex-tuple
                • Lex-safe-nonascii
                • Lex-literal-type
                • Lex-instruction
                • Lex-entry
                • Lex-arithmetic-type
                • Lex-struct
                • Lex-not-lf-or-cr
                • Lex-commit-op
                • Lex-ternary
                • Lex-plain-ws
                • Lex-operand
                • Lex-literal
                • Lex-hash
                • Lex-group-letter/digit/_
                • Lex-finalize-command
                • Lex-escaped-char
                • Lex-binary
                • Lex-unary
                • Lex-string-element
                • Lex-import
                • Lex-group-psd-sizes
                • Lex-group-escaped-lf/not-lf-or-cr
                • Lex-group-address-public/private
                • Lex-group-1*-plain-ws/escaped-lf
                • Lex-unsigned-literal
                • Lex-repetition-1*6-hex-digit
                • Lex-group-u64-public/private
                • Lex-group-locator/identifier
                • Lex-signed-literal
                • Lex-scalar-literal
                • Lex-group-literal
                • Lex-group-address-char-*-underbar
                • Lex-field-literal
                • Lex-command
                • Lex-assert
                • Lex-string-literal
                • Lex-register-access
                • Lex-program-id
                • Lex-plaintext-type
                • Lex-optional-transition-finalize
                • Lex-integer-literal
                • Lex-group-ped-sizes
                • Lex-group-dot-identifier
                • Lex-group-digit-*-underbar
                • Lex-group-1-ws-register
                • Lex-boolean-literal
                • Lex-locator
                • Lex-line-comment
                • Lex-integer-type
                • Lex-identifier
                • Lex-group-1-ws-operand
                • Lex-group-1-operand
                • Lex-entry-type
                • Lex-address-literal
                • Lex-letter
                • Lex-comment
                • Lex-block-comment
                • Lex-assert-op
                • Lex-uppercase-letter
                • Lex-repetition-1*-program-declaration
                • Lex-repetition-1*-address-char-*-underbar
                • Lex-register
                • Lex-lowercase-letter
                • Lex-is-op
                • Lex-escaped-ws
                • Lex-escaped-lf
                • Lex-visible-ascii
                • Lex-string-type
                • Lex-scalar-type
                • Lex-boolean-type
                • Lex-address-type
                • Lex-ternary-op
                • Lex-repetition-*-program-declaration
                • Lex-repetition-*-plain-ws-or-escaped-lf
                • Lex-repetition-*-escaped-lf/not-lf-or-cr
                • Lex-repetition-*-address-char-*-underbar
                • Lex-repetition-1*-digit-*-underbar
                • Lex-group-type
                • Lex-field-type
                • Lex-repetition-3-operands
                • Lex-repetition-1*-ws-register
                • Lex-repetition-1*-ws-operand
                • Lex-repetition-1*-instruction
                • Lex-optional-hyphen
                • Lex-digit
                • Lex-sp
                • Lex-repetition-*-transition-output
                • Lex-repetition-*-transition-input
                • Lex-repetition-*-string-element
                • Lex-repetition-*-letter/digit/_
                • Lex-repetition-*-function-output
                • Lex-repetition-*-function-input
                • Lex-repetition-*-finalize-output
                • Lex-repetition-*-finalize-input
                • Lex-repetition-*-dot-identifier
                • Lex-repetition-*-digit-*-underbar
                • Lex-repetition-1*-command
                • Lex-lf
                • Lex-ht
                • Lex-dq
                • Lex-cr
                • Lex-ws
                • Lex-repetition-*-ws-register
                • Lex-repetition-*-ws-operand
                • Lex-repetition-*-instruction
                • Lex-repetition-2-operands
                • Lex-repetition-*-plain-ws
                • Lex-repetition-*-import
                • Lex-repetition-*-hex-digit
                • Lex-repetition-*-comment/ws
                • Lex-repetition-*-command
                • Lex-repetition-1*-plain-ws
                • Lex-group-comment/ws
                • Lex-repetition-*-underbar
                • Lex-repetition-*-tuple
                • Lex-repetition-*-entry
                • Lex-repetition-*-digit
                • Lex-repetition-1*-tuple
                • Lex-repetition-1*-digit
                • Lex-address-char
                • Lex-group-address-char
                • Lex-cws
                • Address-char-nat-p
                • *defparse-aleo-option-table*
              • Concrete-syntax
            • Concrete-syntax
        • Leo
      • Bigmems
      • Builtins
      • Execloader
      • Solidity
      • Paco
      • Concurrent-programs
      • Bls12-377-curves
    • Debugging
    • Std
    • Community
    • Proof-automation
    • Macro-libraries
    • ACL2
    • Interfacing-tools
    • Hardware-verification
    • Software-verification
    • Math
    • Testing-utilities
  • Early-version

Parser

A parser of Aleo instructions.

This is work in progress.

Subtopics

Lex-record
Parse a record.
Lex-group-escaped-char-body
Parse a ( dq / "\" / "/" / %s"n" / %s"r" / %s"t" / %s"b" / %s"f" / %s"u" "{" 1*6hex-digit "}" ).
Lex-group-instruction-body
Parse a ( unary / binary / ternary / is / assert / commit / hash / cast / call ).
Lex-increment
Parse a increment.
Lex-decrement
Parse a decrement.
Lex-value-type
Parse a value-type.
Lex-unary-op
Parse a unary-op.
Lex-rest-of-block-comment-fns
Mutually recursive part of block comment lexing.
Lex-not-dq-or-backslash
Parse a not-dq-or-backslash.
Lex-not-star-or-slash
Parse a not-star-or-slash.
*defparse-aleo-group-table*
Table of group parsing functions.
Lex-hex-digit
Parse a hex-digit.
Lex-transition-output
Parse a transition-output.
Lex-transition-input
Parse a transition-input.
Lex-binary-op
Lex a binary-op.
Lex-transition
Parse a transition.
Lex-mapping-value
Parse a mapping-value.
Lex-group-program-declaration
Parse a ( mapping / struct / record / function / transition ).
Lex-function-output
Parse a function-output.
Lex-function-input
Parse a function-input.
Lex-finalize-output
Parse a finalize-output.
Lex-finalize-input
Parse a finalize-input.
Lex-program
Parse a program.
Lex-not-star
Parse a not-star.
Lex-mapping-key
Parse a mapping-key.
Lex-hash-op
Parse a hash-op.
*defparse-aleo-repetition-table*
Table of repetition parsing functions.
Lex-cast
Parse a cast.
Lex-call
Parse a call.
Lex-unsigned-type
Parse a unsigned-type.
Lex-signed-type
Parse a signed-type.
Lex-function
Parse a function.
Lex-finalize-type
Parse a finalize-type.
Lex-finalize
Parse a finalize.
Lex-commit
Parse a commit.
Lex-is
Parse a is.
Lex-register-type
Parse a register-type.
Lex-mapping
Parse a mapping.
Lex-group-entry-type-visibility
Parse a ( %s".constant" / %s".public" / %s".private" ).
Lex-group-bhp-sizes
Parse a ( "256" / "512" / "768" / "1024" ).
Lex-arithmetic-literal
Parse a arithmetic-literal.
Lex-tuple
Parse a tuple.
Lex-safe-nonascii
Parse a safe-nonascii.
Lex-literal-type
Parse a literal-type.
Lex-instruction
Parse a instruction.
Lex-entry
Parse a entry.
Lex-arithmetic-type
Parse a arithmetic-type.
Lex-struct
Parse a struct.
Lex-not-lf-or-cr
Parse a not-lf-or-cr.
Lex-commit-op
Parse a commit-op.
Lex-ternary
Parse a ternary.
Lex-plain-ws
Parse a plain-ws.
Lex-operand
Parse a operand.
Lex-literal
Parse a literal.
Lex-hash
Parse a hash.
Lex-group-letter/digit/_
Parse a ( letter / digit / "_" ).
Lex-finalize-command
Parse a finalize-command.
Lex-escaped-char
Parse a escaped-char.
Lex-binary
Parse a binary.
Lex-unary
Parse a unary.
Lex-string-element
Parse a string-element.
Lex-import
Parse a import.
Lex-group-psd-sizes
Parse a ( "2" / "4" / "8" ).
Lex-group-escaped-lf/not-lf-or-cr
Parse a ( escaped-lf / not-lf-or-cr ).
Lex-group-address-public/private
Parse a ( %s"address.public" / %s"address.private" ).
Lex-group-1*-plain-ws/escaped-lf
Parse a ( 1*plain-ws / escaped-lf ).
Lex-unsigned-literal
Parse a unsigned-literal.
Lex-repetition-1*6-hex-digit
Lex a 1*6hex-digit.
Lex-group-u64-public/private
Parse a ( %s"u64.public" / %s"u64.private" ).
Lex-group-locator/identifier
Parse a ( locator / identifier ).
Lex-signed-literal
Parse a signed-literal.
Lex-scalar-literal
Parse a scalar-literal.
Lex-group-literal
Parse a group-literal.
Lex-group-address-char-*-underbar
Parse a ( address-char *"_" ).
Lex-field-literal
Parse a field-literal.
Lex-command
Parse a command.
Lex-assert
Parse a assert.
Lex-string-literal
Parse a string-literal.
Lex-register-access
Parse a register-access.
Lex-program-id
Parse a program-id.
Lex-plaintext-type
Parse a plaintext-type.
Lex-optional-transition-finalize
Parse a [ finalize-command finalize ].
Lex-integer-literal
Parse a integer-literal.
Lex-group-ped-sizes
Parse a ( "64" / "128" ).
Lex-group-dot-identifier
Parse a ( "." identifier ).
Lex-group-digit-*-underbar
Parse a ( digit *"_" ).
Lex-group-1-ws-register
Parse a ( ws register ).
Lex-boolean-literal
Parse a boolean-literal.
Lex-locator
Parse a locator.
Lex-line-comment
Parse a line-comment.
Lex-integer-type
Parse a integer-type.
Lex-identifier
Parse a identifier.
Lex-group-1-ws-operand
Parse a ( ws operand ).
Lex-group-1-operand
Parse a ( operand ws ).
Lex-entry-type
Parse a entry-type.
Lex-address-literal
Parse a address-literal.
Lex-letter
Parse a letter.
Lex-comment
Parse a comment.
Lex-block-comment
Parse a block-comment.
Lex-assert-op
Parse a assert-op.
Lex-uppercase-letter
Parse a uppercase-letter.
Lex-repetition-1*-program-declaration
Lex 1*( mapping / struct / record / function / transition ).
Lex-repetition-1*-address-char-*-underbar
Lex 1*( address-char *"_" ).
Lex-register
Parse a register.
Lex-lowercase-letter
Parse a lowercase-letter.
Lex-is-op
Parse a is-op.
Lex-escaped-ws
Parse a escaped-ws.
Lex-escaped-lf
Parse a escaped-lf.
Lex-visible-ascii
Parse a visible-ascii.
Lex-string-type
Parse a string-type.
Lex-scalar-type
Parse a scalar-type.
Lex-boolean-type
Parse a boolean-type.
Lex-address-type
Parse a address-type.
Lex-ternary-op
Parse a ternary-op.
Lex-repetition-*-program-declaration
Parse a *( mapping / struct / record / function / transition ).
Lex-repetition-*-plain-ws-or-escaped-lf
Parse a *( 1*plain-ws / escaped-lf ).
Lex-repetition-*-escaped-lf/not-lf-or-cr
Parse a *( escaped-lf / not-lf-or-cr ).
Lex-repetition-*-address-char-*-underbar
Parse a *( address-char *"_" ).
Lex-repetition-1*-digit-*-underbar
Lex 1*( digit *"_".
Lex-group-type
Parse a group-type.
Lex-field-type
Parse a field-type.
Lex-repetition-3-operands
Lex 3( operand ws ).
Lex-repetition-1*-ws-register
Lex 1*( ws register ).
Lex-repetition-1*-ws-operand
Lex 1*( ws operand ).
Lex-repetition-1*-instruction
Lex 1*instruction.
Lex-optional-hyphen
Parse a [ "-" ].
Lex-digit
Parse a digit.
Lex-sp
Parse a sp.
Lex-repetition-*-transition-output
Parse a *transition-output.
Lex-repetition-*-transition-input
Parse a *transition-input.
Lex-repetition-*-string-element
Parse a *string-element.
Lex-repetition-*-letter/digit/_
Parse a *( letter / digit / "_" ).
Lex-repetition-*-function-output
Parse a *function-output.
Lex-repetition-*-function-input
Parse a *function-input.
Lex-repetition-*-finalize-output
Parse a *finalize-output.
Lex-repetition-*-finalize-input
Parse a *finalize-input.
Lex-repetition-*-dot-identifier
Parse a *( "." identifier ).
Lex-repetition-*-digit-*-underbar
Parse a *( digit *"_" ).
Lex-repetition-1*-command
Lex 1*command.
Lex-lf
Parse a lf.
Lex-ht
Parse a ht.
Lex-dq
Parse a dq.
Lex-cr
Parse a cr.
Lex-ws
Parse a ws.
Lex-repetition-*-ws-register
Parse a *( ws register ).
Lex-repetition-*-ws-operand
Parse a *( ws operand ).
Lex-repetition-*-instruction
Parse a *instruction.
Lex-repetition-2-operands
Lex 2( operand ws ).
Lex-repetition-*-plain-ws
Parse a *plain-ws.
Lex-repetition-*-import
Parse a *import.
Lex-repetition-*-hex-digit
Parse a *hex-digit.
Lex-repetition-*-comment/ws
Lex *( comment / ws ).
Lex-repetition-*-command
Parse a *command.
Lex-repetition-1*-plain-ws
Lex 1*plain-ws.
Lex-group-comment/ws
Lex ( comment / ws ).
Lex-repetition-*-underbar
Lex zero or more underbars.
Lex-repetition-*-tuple
Parse a *tuple.
Lex-repetition-*-entry
Parse a *entry.
Lex-repetition-*-digit
Parse a *digit.
Lex-repetition-1*-tuple
Lex 1*tuple.
Lex-repetition-1*-digit
Lex 1*digit.
Lex-address-char
Lex an address-char.
Lex-group-address-char
Lex-cws
Address-char-nat-p
*defparse-aleo-option-table*
Table of option parsing functions.