"" "
pygments.lexers.pddl
~~~~~~~~~~~~~~~~~~~~
Lexer
for the Planning Domain Definition Language.
:copyright: Copyright
2006 -present by the Pygments team, see AUTHORS.
:license: BSD, see LICENSE
for details.
"" "
from pygments.lexer
import RegexLexer, words, include
from pygments.token
import Punctuation, Keyword, Whitespace, Name, Comment, \
Operator, Number
__all__ = [
'PddlLexer' ]
class PddlLexer(RegexLexer):
"" "
A PDDL lexer.
It should support up to PDDL
3 .
1 .
"" "
name =
'PDDL'
aliases = [
'pddl' ]
filenames = [
'*.pddl' ]
# there doesn't really seem to be a PDDL homepage.
url =
'https://en.wikipedia.org/wiki/Planning_Domain_Definition_Language '
version_added =
'2.19'
tokens = {
'root' : [
(r
'\s+' , Whitespace),
(r
';.*$' , Comment.Singleline),
include(
'keywords' ),
include(
'builtins' ),
(r
'[()]' , Punctuation),
(r
'[=/*+><-]' , Operator),
(r
'[a-zA-Z][a-zA-Z0-9_-]*' , Name),
(r
'\?[a-zA-Z][a-zA-Z0-9_-]*' , Name.Variable),
(r
'[0-9]+\.[0-9]+' , Number.Float),
(r
'[0-9]+' , Number.Integer),
],
'keywords' : [
(words((
':requirements' ,
':types' ,
':constants' ,
':predicates' ,
':functions' ,
':action' ,
':agent' ,
':parameters' ,
':precondition' ,
':effect' ,
':durative-action' ,
':duration' ,
':condition' ,
':derived' ,
':domain' ,
':objects' ,
':init' ,
':goal' ,
':metric' ,
':length' ,
':serial' ,
':parallel' ,
# the following are requirements
':strips' ,
':typing' ,
':negative-preconditions' ,
':disjunctive-preconditions' ,
':equality' ,
':existential-preconditions' ,
':universal-preconditions' ,
':conditional-effects' ,
':fluents' ,
':numeric-fluents' ,
':object-fluents' ,
':adl' ,
':durative-actions' ,
':continuous-effects' ,
':derived-predicates' ,
':time-intial-literals' ,
':preferences' ,
':constraints' ,
':action-costs' ,
':multi-agent' ,
':unfactored-privacy' ,
':factored-privacy' ,
':non-deterministic'
), suffix=r
'\b' ), Keyword)
],
'builtins' : [
(words((
'define' ,
'domain' ,
'object' ,
'either' ,
'and' ,
'forall' ,
'preference' ,
'imply' ,
'or' ,
'exists' ,
'not' ,
'when' ,
'assign' ,
'scale-up' ,
'scale-down' ,
'increase' ,
'decrease' ,
'at' ,
'over' ,
'start' ,
'end' ,
'all' ,
'problem' ,
'always' ,
'sometime' ,
'within' ,
'at-most-once' ,
'sometime-after' ,
'sometime-before' ,
'always-within' ,
'hold-during' ,
'hold-after' ,
'minimize' ,
'maximize' ,
'total-time' ,
'is-violated' ), suffix=r
'\b' ),
Name.Builtin)
]
}
Messung V0.5 in Prozent C=91 H=92 G=91
¤ Dauer der Verarbeitung: 0.15 Sekunden
(vorverarbeitet am 2026-08-26)
¤
*© Formatika GbR, Deutschland