Class AssemblyNumericMapTerminal

  • All Implemented Interfaces:
    java.lang.Comparable<AssemblySymbol>

    public class AssemblyNumericMapTerminal
    extends AssemblyNumericTerminal
    A terminal that accepts only a particular set of numeric values, mapping each to another value This often used for non-conventional numeric encodings.
    See Also:
    ValueMapSymbol
    • Field Detail

      • map

        protected final java.util.Map<java.lang.Long,​java.lang.Integer> map
    • Constructor Detail

      • AssemblyNumericMapTerminal

        public AssemblyNumericMapTerminal​(java.lang.String name,
                                          java.util.Map<java.lang.Long,​java.lang.Integer> map)
        Construct a terminal with the given name, accepting only the keys of a given map
        Parameters:
        name - the name
        map - the map from display value to token value
    • Method Detail

      • match

        public java.util.Collection<AssemblyParseNumericToken> match​(java.lang.String buffer,
                                                                     int pos,
                                                                     AssemblyGrammar grammar,
                                                                     java.util.Map<java.lang.String,​java.lang.Long> labels)
        Description copied from class: AssemblyTerminal
        Attempt to match a token from the input buffer starting at a given position
        Overrides:
        match in class AssemblyNumericTerminal
        Parameters:
        buffer - the input buffer
        pos - the cursor position in the buffer
        grammar - the grammar containing this terminal
        labels - the program labels, if applicable
        Returns:
        the matched token, or null
      • getSuggestions

        public java.util.Collection<java.lang.String> getSuggestions​(java.lang.String got,
                                                                     java.util.Map<java.lang.String,​java.lang.Long> labels)
        Description copied from class: AssemblyTerminal
        Provide a collection of strings that this terminal would have accepted
        Overrides:
        getSuggestions in class AssemblyNumericTerminal
        Parameters:
        got - the remaining contents of the input buffer
        labels - the program labels, if applicable
        Returns:
        a, possibly empty, collection of suggestions