Enum Op

java.lang.Object
java.lang.Enum<Op>
net.hydromatic.morel.ast.Op
All Implemented Interfaces:
Serializable, Comparable<Op>, java.lang.constant.Constable

public enum Op extends Enum<Op>
Sub-types of AstNode.
  • Enum Constant Details

    • ID

      public static final Op ID
    • RECORD_SELECTOR

      public static final Op RECORD_SELECTOR
    • BOOL_LITERAL

      public static final Op BOOL_LITERAL
    • CHAR_LITERAL

      public static final Op CHAR_LITERAL
    • INT_LITERAL

      public static final Op INT_LITERAL
    • REAL_LITERAL

      public static final Op REAL_LITERAL
    • STRING_LITERAL

      public static final Op STRING_LITERAL
    • UNIT_LITERAL

      public static final Op UNIT_LITERAL
    • FN_LITERAL

      public static final Op FN_LITERAL
      Literal whose value is a BuiltIn.
    • VALUE_LITERAL

      public static final Op VALUE_LITERAL
      Literal whose value is a non-atomic value, such as a record or list.
    • INTERNAL_LITERAL

      public static final Op INTERNAL_LITERAL
    • ID_PAT

      public static final Op ID_PAT
    • WILDCARD_PAT

      public static final Op WILDCARD_PAT
    • AS_PAT

      public static final Op AS_PAT
    • CON_PAT

      public static final Op CON_PAT
    • CON0_PAT

      public static final Op CON0_PAT
    • TUPLE_PAT

      public static final Op TUPLE_PAT
    • RECORD_PAT

      public static final Op RECORD_PAT
    • LIST_PAT

      public static final Op LIST_PAT
    • CONS_PAT

      public static final Op CONS_PAT
    • BOOL_LITERAL_PAT

      public static final Op BOOL_LITERAL_PAT
    • CHAR_LITERAL_PAT

      public static final Op CHAR_LITERAL_PAT
    • INT_LITERAL_PAT

      public static final Op INT_LITERAL_PAT
    • REAL_LITERAL_PAT

      public static final Op REAL_LITERAL_PAT
    • STRING_LITERAL_PAT

      public static final Op STRING_LITERAL_PAT
    • ANNOTATED_PAT

      public static final Op ANNOTATED_PAT
    • BAR

      public static final Op BAR
    • COMMA

      public static final Op COMMA
    • FUN_BIND

      public static final Op FUN_BIND
    • FUN_MATCH

      public static final Op FUN_MATCH
    • TY_CON

      public static final Op TY_CON
    • DATATYPE_DECL

      public static final Op DATATYPE_DECL
    • DATATYPE_BIND

      public static final Op DATATYPE_BIND
    • FUN_DECL

      public static final Op FUN_DECL
    • VAL_DECL

      public static final Op VAL_DECL
    • REC_VAL_DECL

      public static final Op REC_VAL_DECL
    • FROM_EQ

      public static final Op FROM_EQ
    • SUCH_THAT

      public static final Op SUCH_THAT
    • TUPLE

      public static final Op TUPLE
    • LIST

      public static final Op LIST
    • RECORD

      public static final Op RECORD
    • FN

      public static final Op FN
    • TY_VAR

      public static final Op TY_VAR
    • RECORD_TYPE

      public static final Op RECORD_TYPE
    • PROGRESSIVE_RECORD_TYPE

      public static final Op PROGRESSIVE_RECORD_TYPE
    • DATA_TYPE

      public static final Op DATA_TYPE
    • DUMMY_TYPE

      public static final Op DUMMY_TYPE
      Used internally, as the 'type' of a type constructor that does not contain data.
    • APPLY_TYPE

      public static final Op APPLY_TYPE
    • TUPLE_TYPE

      public static final Op TUPLE_TYPE
    • COMPOSITE_TYPE

      public static final Op COMPOSITE_TYPE
    • FUNCTION_TYPE

      public static final Op FUNCTION_TYPE
    • NAMED_TYPE

      public static final Op NAMED_TYPE
    • FORALL_TYPE

      public static final Op FORALL_TYPE
    • ANNOTATED_EXP

      public static final Op ANNOTATED_EXP
    • TIMES

      public static final Op TIMES
    • DIVIDE

      public static final Op DIVIDE
    • DIV

      public static final Op DIV
    • MOD

      public static final Op MOD
    • INTERSECT

      public static final Op INTERSECT
    • PLUS

      public static final Op PLUS
    • MINUS

      public static final Op MINUS
    • CARET

      public static final Op CARET
    • EXCEPT

      public static final Op EXCEPT
    • UNION

      public static final Op UNION
    • NEGATE

      public static final Op NEGATE
    • CONS

      public static final Op CONS
    • AT

      public static final Op AT
    • LE

      public static final Op LE
    • LT

      public static final Op LT
    • GE

      public static final Op GE
    • GT

      public static final Op GT
    • EQ

      public static final Op EQ
    • NE

      public static final Op NE
    • ELEM

      public static final Op ELEM
    • NOT_ELEM

      public static final Op NOT_ELEM
    • ASSIGN

      public static final Op ASSIGN
    • COMPOSE

      public static final Op COMPOSE
    • ANDALSO

      public static final Op ANDALSO
    • ORELSE

      public static final Op ORELSE
    • BEFORE

      public static final Op BEFORE
    • LET

      public static final Op LET
    • LOCAL

      public static final Op LOCAL
    • MATCH

      public static final Op MATCH
    • VAL_BIND

      public static final Op VAL_BIND
    • APPLY

      public static final Op APPLY
    • CASE

      public static final Op CASE
    • FROM

      public static final Op FROM
    • SCAN

      public static final Op SCAN
    • INNER_JOIN

      public static final Op INNER_JOIN
    • WHERE

      public static final Op WHERE
    • GROUP

      public static final Op GROUP
    • COMPUTE

      public static final Op COMPUTE
    • ORDER

      public static final Op ORDER
    • ORDER_ITEM

      public static final Op ORDER_ITEM
    • SKIP

      public static final Op SKIP
    • TAKE

      public static final Op TAKE
    • YIELD

      public static final Op YIELD
    • AGGREGATE

      public static final Op AGGREGATE
    • IF

      public static final Op IF
  • Field Details

    • padded

      public final String padded
      Padded name, e.g. " : ".
    • left

      public final int left
      Left precedence
    • opName

      public final String opName
      Operator name. Sometimes null, sometimes something like "op +".
    • BY_OP_NAME

      public static final com.google.common.collect.ImmutableMap<String,Op> BY_OP_NAME
  • Constructor Details

    • Op

      private Op()
    • Op

      private Op(boolean atom)
    • Op

      private Op(String padded)
    • Op

      private Op(String padded, int leftPrecedence)
    • Op

      private Op(String padded, int precedence, boolean leftAssociative)
    • Op

      private Op(String padded, int left, int right)
  • Method Details

    • values

      public static Op[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      Returns:
      an array containing the constants of this enum type, in the order they are declared
    • valueOf

      public static Op valueOf(String name)
      Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
      Parameters:
      name - the name of the enum constant to be returned.
      Returns:
      the enum constant with the specified name
      Throws:
      IllegalArgumentException - if this enum type has no constant with the specified name
      NullPointerException - if the argument is null
    • toPat

      public Op toPat()
      Converts the op of a literal or tuple expression to the corresponding op of a pattern.