Wikipedia:Literatur/Parser

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen

Bei der Verwendung einheitlicher Formatierungsregeln von Literaturangaben können die einzelnen Bestandteile mittels eines Parsers automatisch ermittelt werden.

Zunächst werden Leerzeichen normalisiert.

Die einzelnen Tokens sind folgende

<nowiki>
 SP => "[ \t]*",
 LINK => "\\[\\[[^\\]]+\\]\\]"  # (§10) TODO: add in parser or lexer

# Verfasser (§1)
 NAME  => "([^(,]+",
 JOB   => "[(][^)]+[)]",
 ETAL  => "et al[.]",

# Titel (§2) 
  TITLE => "''([^']|'[^'])+''[.]?",  # don't be pedantic: dot at the end may be omitted

# "In:" (§3)
  IN => "[Ii]n:",
   
# Datum (§4)
  # $rEtwa  = "(um\s+|ca[.]?[ ]+|etwa[ ]+)"
  # $rDay   = "(([1-9]|[12][0-9]|30|31)[.])"
  # $rMonth = "(Jan|Januar|Feb|Februar|März|Maerz|....)"
  # $rYear  = ...
  # $rOJahr = "o[.]\s*J(ahr|.)?\s*"
  DATUM => "($rEtwa?$rDay?[ ]*$rMonth[ ]*$rYear" # noch unvollständig
  
# Auflage (§5)
  AUFLAGE => "[1-9][0-9]*[.]\s+Aufl([.]|age)"

# Verlag und Ort (§6)
  ORT => "[^/,]+(/[^/,])*(\s*\\[u[.]A[.]\\])?"
  VERLAG => "[^,]+"

# Fortlaufende Werke (§7)
 ...

# Seitenzahl (§8)
  SEITEN => "S[.][ ]+[0-9]+(ff?[.]?|[-–][ ]+[0-9]+)?"
<nowiki>