summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/grammar.ra
diff options
context:
space:
mode:
Diffstat (limited to 'lib/puppet/parser/grammar.ra')
-rw-r--r--lib/puppet/parser/grammar.ra13
1 files changed, 12 insertions, 1 deletions
diff --git a/lib/puppet/parser/grammar.ra b/lib/puppet/parser/grammar.ra
index 2421382f7..c59d36809 100644
--- a/lib/puppet/parser/grammar.ra
+++ b/lib/puppet/parser/grammar.ra
@@ -7,7 +7,7 @@ class Puppet::Parser::Parser
token LBRACK DQTEXT SQTEXT RBRACK LBRACE RBRACE SYMBOL FARROW COMMA TRUE FALSE EQUALS
token QMARK LPAREN RPAREN ISEQUAL GREATEREQUAL GREATERTHAN LESSTHAN LESSEQUAL NOTEQUAL
token IF ELSE IMPORT DEFINE ELSIF VARIABLE CLASS INHERITS NODE BOOLEAN DOT COLON TYPE
-token NAME SEMIC CASE DEFAULT INCLUDE
+token NAME SEMIC CASE DEFAULT INCLUDE SET
# We have 2 shift/reduce conflicts
expect 2
@@ -59,6 +59,7 @@ statement: object
| casestatement
| import
| include
+ | set
| definition
| hostclass
| nodedef
@@ -90,6 +91,16 @@ include: INCLUDE classnames {
)
}
+set: SET classnames {
+ classnames = aryfy(val[1])
+
+ result = AST::Set.new(
+ :line => @lexer.line,
+ :file => @lexer.file,
+ :type => val[1]
+ )
+}
+
classnames: classname
| classnames COMMA classname {
result = aryfy(val[0], val[2])