1.1.0 • Published 3 years ago

johannawirell_tokenizer v1.1.0

Weekly downloads
-
License
ISC
Repository
-
Last release
3 years ago

johannawirell_tokenizer

Tokenizerarens uppgift är att tolka en textsträng med hjälp av regulära uttryck och returnera vilka lexikala delar (tokens) som textsträngen består av.

Installering

$ npm i johannawirell_tokenizer

// ES6
import { Tokenizer } from 'johannawirell_tokenizer'

Användning

För att skapa ett objekt av klassen tokenizer krävs två argument

  1. Grammatik
const wordAndDotGrammar = {
  WORD: /^[\w|åäöÅÄÖ]+/, 
  DOT: /^\./
}

Tips: använd grammtik från Grammar mappen

const wordAndDotGrammar = new WordAndDotGrammar().getRegexTypes()
  1. String
    Detta är strängen som tokentyperna kommer hämtas från
const textTokenizer = new Tokenizer(wordAndDotGrammar, "test string.")

getTokenTypes()

Denna metod hämtar alla tokentyper.

const textTokenizer = new Tokenizer(wordAndDotGrammar, "test string.")
textTokenizer.getTokens()

// Resultat 
[
  { TokenType: 'WORD', TokenValue: 'test' },
  { TokenType: 'WORD', TokenValue: 'string' },
  { TokenType: 'DOT', TokenValue: '.' },
  { TokenType: 'END', TokenValue: '' }
]

getActiveToken()

Denna metod hämtar tokentypen för det aktiva tokenet

const textTokenizer = new Tokenizer(wordAndDotGrammar, "test string.")
textTokenizer.getActiveToken()

// Resultat 
{ tokenType: 'WORD', tokenValue: 'test' }

setNextActiveToken()

Denna metod sätter tokentypen för det nästa aktiva tokenet

const textTokenizer = new Tokenizer(wordAndDotGrammar, "test string.")
textTokenizer.setNextActiveToken()

textTokenizer.getActiveToken()

// Resultat 
{ tokenType: 'WORD', tokenValue: 'string' }

Ifall indexet är större än vad som finns i token-arrayen kastas undantag.

const textTokenizer = new Tokenizer(wordAndDotGrammar, "test string.")
textTokenizer.setNextActiveToken() // "string"
textTokenizer.setNextActiveToken() // "."
textTokenizer.setNextActiveToken() // END
textTokenizer.setNextActiveToken() // Unvalid index

textTokenizer.getActiveToken()

// Resultat 
`Invalid index "4"`

setPreviousActiveToken()

Denna metod sätter tokentypen för det tidigare aktiva tokenet

const textTokenizer = new Tokenizer(wordAndDotGrammar, "test string.")
textTokenizer.setNextActiveToken() // Steg fram ("string")
textTokenizer.setPreviousActiveToken() // Steg tillbaka ("test")

// Resultat 
{ tokenType: 'WORD', tokenValue: 'test' }

Ifall indexet är negativt kastas undantag.

const textTokenizer = new Tokenizer(wordAndDotGrammar, "test string.")
textTokenizer.setPreviousActiveToken() // Unvalid index
textTokenizer.getActiveToken()

// Resultat 
`Invalid index "-1"`

Invalid tokens

Ifall ett ogiltigt token skickas till tokenizern kommer tokens fram till detta token skapas.

const textTokenizer = new Tokenizer(wordAndDotGrammar, "Test!Detta skapas inte")
textTokenizer.getTokens()

// Resultat 
[
  { TokenType: 'WORD', TokenValue: 'Test' },
  { TokenType: 'Exception', TokenValue: '!' }
]
1.1.0

3 years ago

1.0.7

3 years ago

1.0.6

3 years ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

3 years ago

1.0.1

3 years ago

1.0.0

3 years ago