Class: Pubid::Adobe::Parser

Inherits:
Parslet::Parser
  • Object
show all
Includes:
Parser::CommonParseRules
Defined in:
lib/pubid/adobe/parser.rb

Overview

Parslet grammar for Adobe identifiers.

Canonical citation forms (what the renderer produces):

Adobe TN 5014                  (tech note; replaces the older
                               "Adobe Technical Note #5014")
Adobe Publication adobe-glyph-list
Adobe Publication adobe-japan1-7

The parser also accepts these legacy forms for back-compat:

Adobe Technical Note #5014
Adobe Technical Note 5014
Adobe TN5014                   (no space)
ATN5014                        (short alias)
5014                           (bare number; data-repo context)
adobe-glyph-list               (bare slug)

Class Method Summary collapse

Methods included from Parser::CommonParseRules

included

Class Method Details

.parse(string) ⇒ Hash

Parse a string and return the raw parslet tree.

Parameters:

  • string (String)

Returns:

  • (Hash)

Raises:

  • (ArgumentError)


121
122
123
124
125
# File 'lib/pubid/adobe/parser.rb', line 121

def self.parse(string)
  raise ArgumentError, ::Pubid::INPUT_TOO_LONG_MESSAGE if string.length > ::Pubid::MAX_INPUT_LENGTH

  new.parse(string.strip)
end