Commit graph

218 commits

Author SHA1 Message Date
Benno Fünfstück 0aa8fc2602 Merge branch 'master' into tests-and-fixes 2014-08-13 19:23:11 +02:00
Benno Fünfstück ac9675baae More tests (one currently failing) and fixes 2014-08-05 21:23:28 +02:00
John Wiegley a3f1a41ef8 Merge pull request #10 from jwiegley/formals
Formal parameters
2014-08-05 13:15:02 -04:00
Benno Fünfstück 4f6402a840 tests and fixes for identifier name parsing 2014-08-05 16:52:28 +02:00
Daniel Bergey 9f07afd101 Handle full formal parameters syntax 2014-08-03 16:01:09 +00:00
Benno Fünfstück e5a0f645d2 trifecta: allow _ at identifier start 2014-08-03 16:20:09 +02:00
Benno Fünfstück 19c77ae2d1 trifecta: don't allow reserved in identifier
trifecta should not parse reserved words as identifiers. Before
this commit, `in` would parse as an identifier name and thus
`let a = b; in c` fails to parse.
2014-08-03 16:16:52 +02:00
Benno Fünfstück 2b186aed67 Remove unused symbol parser
'symbol' had a different type for parsec/trifecta and
wasn't used anywhere.
2014-08-03 16:16:04 +02:00
Benno Fünfstück bc71229ab0 parser nixList: consume whitespace between items 2014-08-03 15:57:16 +02:00
Benno Fünfstück 3922112bab add a few hunit tests for parser 2014-08-03 15:56:01 +02:00
Daniel Bergey 4242b91e8a add some language pragmas 2014-08-02 22:28:15 +00:00
Daniel Bergey 71a0876120 simplify set and lambda parsing
use try and parser failure
2014-08-02 22:28:14 +00:00
Daniel Bergey 149ae51d60 make function application left-associative 2014-08-02 18:36:26 +00:00
Daniel Bergey 05596093c4 Add semicolons to inherit pretty-printer 2014-08-02 16:00:41 +00:00
John Wiegley 748bebf965 Improvements to default.nix file 2014-08-02 11:08:46 -04:00
John Wiegley 5cd581ce0d Merge pull request #9 from jwiegley/inherit
implement inherit in name bindings
2014-08-02 10:57:58 -04:00
Daniel Bergey 8e795d2f4e implement inherit in name bindings
Two points which are not clear from the manual, where this patch follows
the grammar.y bison implementation:
- The presence of parens in the first argument distinguishes the scoped
inherit
- inherit has the same syntax in sets as in let
2014-07-22 03:14:26 +00:00
John Wiegley 755f39d3c6 Merge pull request #8 from bergey/bool
accept false in nixBool
2014-07-20 02:13:51 -05:00
Daniel Bergey 8111b111cd accept false in nixBool 2014-07-19 22:49:28 +00:00
John Wiegley a2a9dc32bf Merge pull request #6 from bergey/attr-list
Accept NAttr attribute paths in lists
2014-07-19 15:43:49 -05:00
Daniel Bergey 7b9ad451f8 Accept NAttr attribute paths in lists
This is a common pattern, e.g., maintainers or fonts.fonts
2014-07-19 16:49:38 +00:00
John Wiegley 92cf6eecf9 Switch from pretty to ansi-wl-pprint 2014-07-18 04:42:06 -05:00
Luca Bruno 74e85e44f8 Evaluate non-recursive let expression 2014-07-08 14:46:56 +02:00
Luca Bruno 5ecd9e1a1a Evaluate assert 2014-07-08 14:34:56 +02:00
Luca Bruno b254b0347c Evaluate with expression 2014-07-08 13:47:31 +02:00
Luca Bruno cf34b6edee Evaluate if condition 2014-07-08 13:38:48 +02:00
Luca Bruno 2e8e2be67a Evaluate NArgSet to NVArgSet 2014-07-08 11:27:31 +02:00
Luca Bruno ea6cdf330d pretty: wrap app argument around parens 2014-07-07 18:23:16 +02:00
Luca Bruno 5849e17529 pretty: Fix displaying double quotes for strings 2014-07-07 17:39:49 +02:00
Luca Bruno 610fc3c780 Use pretty util functions for filling paragraphs 2014-07-07 17:29:55 +02:00
Luca Bruno a12c576bcc Pretty print operators 2014-07-07 17:25:28 +02:00
Luca Bruno 8103ed8cc8 Fix compilation. Better indentation for the pretty printer 2014-07-07 16:55:03 +02:00
John Wiegley be5c81d190 Merge pull request #5 from lethalman/pretty
Pretty print nix expressions
2014-07-07 09:31:28 -05:00
John Wiegley 806e497ce8 Merge pull request #4 from lethalman/fixdot
Fix dot operator associativity. a.b.c would not be parsed otherwise
2014-07-07 09:31:20 -05:00
John Wiegley 2ee2f71832 Merge pull request #3 from lethalman/master
Use a type to express rec sets instead of a bool
2014-07-07 09:31:07 -05:00
Luca Bruno b12dc4f187 Pretty print nix expressions 2014-07-07 16:26:14 +02:00
Luca Bruno 1e8ee3af67 Fix dot operator associativity. a.b.c would not be parsed otherwise 2014-07-07 15:01:03 +02:00
Luca Bruno 8ea220ea4f Use a type to express rec sets instead of a bool 2014-07-07 11:29:25 +02:00
John Wiegley bad6a0a6d5 Add the NInherit type 2014-07-04 16:26:13 -05:00
John Wiegley 5b8ef9997d if/then/else is working, next to do is "inherit" 2014-07-04 16:24:47 -05:00
John Wiegley bb378af269 Several more minor fixes 2014-07-04 16:23:21 -05:00
John Wiegley 0f0f865e4f Add a reserved words as "stop words" for nixApp 2014-07-04 16:15:58 -05:00
John Wiegley 072b2e8d51 Add support for more operators 2014-07-04 16:07:32 -05:00
John Wiegley 2468bf6826 Normalize recent changes to fit the overall design 2014-07-04 15:56:53 -05:00
John Wiegley 74e1812f74 Merge pull request #1 from lethalman/master
Fix parsing of rec sets with reserved keyword
2014-07-04 15:43:30 -05:00
John Wiegley d5d77cd84f Merge pull request #2 from lethalman/ifthenelse
Parse if then else
2014-07-04 15:43:03 -05:00
Luca Bruno 051e8fffc2 Parse if then else 2014-07-04 14:39:41 +02:00
Luca Bruno f8d0496bba Fix parsing of rec sets with reserved keyword 2014-07-04 13:43:22 +02:00
John Wiegley f5ab0e5be4 Building with Trifecta works again, but there are issues 2014-07-04 04:08:38 -05:00
John Wiegley bb3648cf73 Let is working, next is "if" syntax 2014-07-04 02:15:20 -05:00