summaryrefslogtreecommitdiffstats
path: root/lib/puppet/parser/grammar.ra
Commit message (Collapse)AuthorAgeFilesLines
...
* Creating a simplistic, generic function framework in the parser, so it is ↵luke2006-04-261-62/+46
| | | | | | now very easy to add new functions. There is a pretty crappy, hardwired distinction between functions that return values and those that do not, but I do not see a good way around it right now. Functions are also currently responsible for handling their own arity, although I have plans for fixing that. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1134 980ebf18-57e1-0310-9a29-db15c13687c0
* Changing "set" to "tag"luke2006-04-111-4/+4
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1106 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing the language side of #109. Added a "set" keyword.luke2006-04-111-1/+12
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1103 980ebf18-57e1-0310-9a29-db15c13687c0
* Change how names for nodes are specified: the 'node' keyword can be followed ↵lutter2006-04-041-14/+7
| | | | | | by a NAME or by single quoted text, i.e. fully qualified names for nodes must be enclosed in single quotes git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1064 980ebf18-57e1-0310-9a29-db15c13687c0
* Manifests can now specify node names with fully qualified domain names, too.lutter2006-03-311-5/+35
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@1047 980ebf18-57e1-0310-9a29-db15c13687c0
* Supporting variables as the test value in both case statements and selectors.luke2006-03-031-1/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@976 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing bug #75, providing support for unnecessary end commas.luke2006-02-271-3/+1
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@954 980ebf18-57e1-0310-9a29-db15c13687c0
* Mostly, this is a refactoring commit. There is one significant new feature,luke2006-02-271-4/+4
| | | | | | | | | | | | | | | | | though: overrides now only work within a class heirarchy, which is to say that a subclass can override an element in a base class, but a child scope cannot otherwise override an element in a base scope. I've also done a good bit of refactoring, though; notably, AST#evaluate now takes named arguments, and I changed the 'name' parameter to 'type' in all of the Component classes (this was all internal, but was confusing as it was). I also removed the need for the autonaming stuff -- it's now acceptable for components not to have names, and everything behaves correctly. I haven't yet removed the autoname code, though; I'll do that on the next commit. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@952 980ebf18-57e1-0310-9a29-db15c13687c0
* Generate an error if the pattern for an import statement matches no file.lutter2006-02-231-1/+6
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@928 980ebf18-57e1-0310-9a29-db15c13687c0
* Fix failure of test_importglobbing in test/parser/parser.rblutter2006-02-221-1/+11
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@925 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding single-quote syntactical elementluke2006-02-161-10/+10
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@923 980ebf18-57e1-0310-9a29-db15c13687c0
* replacing all occurences of "is_a?" in the parser with "instance_of?"luke2006-02-081-22/+22
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@879 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing bug that occurs with only one argumentluke2006-02-081-2/+2
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@878 980ebf18-57e1-0310-9a29-db15c13687c0
* Committing both the finalization of the config code, plus all of the code ↵luke2006-02-071-0/+6
| | | | | | necessary to get basic isomorphism from code to transportables and back. Mostly keyword and autoname stuff. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@871 980ebf18-57e1-0310-9a29-db15c13687c0
* Made lots of small changes, mostly to help usability but also fixed a couple ↵luke2006-01-181-10/+8
| | | | | | of key bugs git-svn-id: https://reductivelabs.com/svn/puppet/trunk@841 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixing most types to allow no statementsluke2006-01-181-1/+63
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@840 980ebf18-57e1-0310-9a29-db15c13687c0
* Fixed a couple of warnings, fixed a critical bug having to do with case ↵luke2006-01-121-1/+1
| | | | | | statements (where there is only one listed option), and did a couple of other cleanups. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@814 980ebf18-57e1-0310-9a29-db15c13687c0
* Further small bug fixes towards running puppet on my networkluke2005-10-251-4/+5
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@729 980ebf18-57e1-0310-9a29-db15c13687c0
* Adding some semantic tagging. It is not exactly full-featured yet, and it ↵luke2005-10-101-1/+1
| | | | | | is not used at all, but it was sufficient for some proof-of-concept stuff in preparation for the conference git-svn-id: https://reductivelabs.com/svn/puppet/trunk@716 980ebf18-57e1-0310-9a29-db15c13687c0
* Many, many changes toward a completely functional system. The only current ↵luke2005-09-231-18/+19
| | | | | | problems with my home config are that apache's stupid init script does not do status and that packages are not working as non-root users (which makes sense). git-svn-id: https://reductivelabs.com/svn/puppet/trunk@703 980ebf18-57e1-0310-9a29-db15c13687c0
* Nodes now support inheritance, for better or for worse.luke2005-09-231-4/+4
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@701 980ebf18-57e1-0310-9a29-db15c13687c0
* The new "include" syntax works now.luke2005-09-221-10/+57
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@700 980ebf18-57e1-0310-9a29-db15c13687c0
* I am still somewhat in mid-change, but I have made the biggest changes to ↵luke2005-09-211-20/+13
| | | | | | making nodes work correctly. The core code works, but I still need to fix my various test cases git-svn-id: https://reductivelabs.com/svn/puppet/trunk@697 980ebf18-57e1-0310-9a29-db15c13687c0
* Okay, significant change -- classes no longer accept arguments (which makes ↵luke2005-09-211-10/+10
| | | | | | things simpler but encourages the user of global variables, which is bad), and classes are finally singletons, meaning they will only ever be evaluated for each node a single time. I still need to make nodes work correctly, but that is going to involve modifying the parsing system and a bit more git-svn-id: https://reductivelabs.com/svn/puppet/trunk@694 980ebf18-57e1-0310-9a29-db15c13687c0
* adding stinkloads of comments to ast.rb (I am trying to go through and ↵luke2005-09-201-8/+35
| | | | | | better comment my code over time), refactoring some of the AST classes, and working towards a more sensible class/definition/node distinction git-svn-id: https://reductivelabs.com/svn/puppet/trunk@693 980ebf18-57e1-0310-9a29-db15c13687c0
* My cfengine2puppet config now entirely parses. The biggest problem I ran ↵luke2005-09-181-4/+14
| | | | | | into is that my glob-based parsing was only returning the results of the last parsed file, instead of collecting all of the results. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@689 980ebf18-57e1-0310-9a29-db15c13687c0
* Successfully parsed my entire converted cfengine configuration; these are ↵luke2005-09-171-17/+18
| | | | | | all fixes for bugs i found as a result. I have not tried to execute the configuration yet. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@687 980ebf18-57e1-0310-9a29-db15c13687c0
* fixing some testsluke2005-09-151-4/+0
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@667 980ebf18-57e1-0310-9a29-db15c13687c0
* adding globbing to importluke2005-09-141-17/+28
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@657 980ebf18-57e1-0310-9a29-db15c13687c0
* tracked down some sticky bugs related to having false values and empty ↵luke2005-09-131-91/+1
| | | | | | strings; all fixed now, and all tests pass again, including the new tests that cover the bugs i found git-svn-id: https://reductivelabs.com/svn/puppet/trunk@652 980ebf18-57e1-0310-9a29-db15c13687c0
* recompiling parser after removing extraneous debuggingLuke Kanies2005-08-261-1/+0
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@591 980ebf18-57e1-0310-9a29-db15c13687c0
* making array-as-name work in the language, and adding some more test snippetsLuke Kanies2005-08-251-11/+18
| | | | git-svn-id: https://reductivelabs.com/svn/puppet/trunk@589 980ebf18-57e1-0310-9a29-db15c13687c0
* replacing if statements with case statement, and adding defaults for both ↵Luke Kanies2005-08-241-78/+153
| | | | | | selectors and case statements git-svn-id: https://reductivelabs.com/svn/puppet/trunk@587 980ebf18-57e1-0310-9a29-db15c13687c0
* Moving all files into a consolidated trunk. All tests pass except the ↵Luke Kanies2005-08-231-0/+672
known-failing certificate test, but there appear to be some errors that are incorrectly not resulting in failurs. I will track those down ASAP. git-svn-id: https://reductivelabs.com/svn/puppet/trunk@576 980ebf18-57e1-0310-9a29-db15c13687c0