Commit Graph

321 Commits

Author SHA1 Message Date
Qi Xiao
65508e728f parse: Name chain shift: ErrorEntry -> Error -> MultiError.
The Error type now implements the error interface.
2018-11-19 23:05:05 +00:00
Qi Xiao
e57c037ca7 golint fixes. 2018-10-13 17:52:54 +01:00
Qi Xiao
23820ee39c parse: Package godoc. 2018-10-13 17:30:03 +01:00
Qi Xiao
980bc4792d parse: Cleanups.
* Unexport the Parser type, and remove an unused field.

* parse.ParseAs -> parse.As; parse.Parse -> parse.AsChunk.
2018-10-13 17:27:39 +01:00
Qi Xiao
0904d79658 parse: Cosmetics. 2018-10-13 17:17:18 +01:00
Qi Xiao
26300831a6 parse: Remove the n method from Node. 2018-10-13 17:08:15 +01:00
Qi Xiao
e81cbd53f6 parse: The node struct now embeds a diag.Ranging. 2018-10-13 17:04:02 +01:00
Qi Xiao
24e0449318 s/Pprint/PPrint/ everywhere. 2018-10-13 16:51:00 +01:00
Qi Xiao
7e5be2d893 parse: Remove boilerplate.{py,go}. 2018-10-13 16:41:00 +01:00
Qi Xiao
97cd87b83c parse: Reduce amount of auto-generated boilerplates.
The ParseX functions, .setX and .allX methods have been removed and
replaced by a pattern based on reflection and pointer.
2018-10-13 16:19:11 +01:00
Qi Xiao
c88da9745e parse: Unexport (*Parser).{Done,Errors}. 2018-10-13 14:37:38 +01:00
Qi Xiao
8bc3af27b7 parse: Add godoc to the boilerplate file. 2018-10-13 14:30:33 +01:00
Qi Xiao
0a0b09655e parse: Remove Begin() and End() from Node.
These are superseded by the n.Range().From and n.Range().To.
2018-10-13 14:07:54 +01:00
Qi Xiao
16f5c8c149 parse: More godoc. 2018-10-13 14:04:13 +01:00
Qi Xiao
15dd028dcb Introduce diag.Ranger and diag.Ranging for expressing ranges.
The parse.node type implements Ranger.
2018-10-13 14:04:13 +01:00
Qi Xiao
fe234ca3ce parse: Remove PPrint{AST,ParseTree}.
PPrint{AST,ParseTree}To have been renamed to PPrint{AST,ParseTree}.
2018-10-13 14:04:13 +01:00
Qi Xiao
fb80862ec4 Add a new package diag for diagnostic utils. 2018-10-11 00:20:32 +08:00
Qi Xiao
9861680768 parse: Introduce a Ranger interface. 2018-09-28 20:55:00 +01:00
Qi Xiao
bb6d4b320b parse: cleanup test utils. 2018-03-16 23:10:01 +00:00
Qi Xiao
7812b3cc45 parse: Cleanup pprint. 2018-03-16 23:06:23 +00:00
Qi Xiao
35d39961c2 eval: Add a stackTrace type. 2018-02-28 20:22:46 -05:00
Qi Xiao
6c420c5709 Move more things to edit/parseutil. 2018-02-08 23:30:55 -08:00
Qi Xiao
ebdcf1178c edit: Put lastcmd in new edit/lastcmd package. 2018-02-08 23:16:31 -08:00
Qi Xiao
65b3c54175 Dead code removal. 2018-02-06 16:24:26 -08:00
Qi Xiao
472d8fb3fd Use backslash for line continuation.
This is a breaking change. This addresses #583.
2018-02-02 22:03:33 -08:00
Qi Xiao
3cc0a63116 tt: Improve API. 2018-01-03 00:20:21 +00:00
Qi Xiao
8a15966ea3 Dead code removal. 2017-12-31 20:40:44 +00:00
Qi Xiao
8b69f73154 parse: Rewrite quote_test.go with tt. 2017-12-31 19:16:40 +00:00
Qi Xiao
ef1c0762ea parse: Always quote = and , in Quote. 2017-12-31 19:12:36 +00:00
Qi Xiao
d8dc0b6cf2 parse: Simplify parsing expressions in special contexts. 2017-12-31 18:51:26 +00:00
Qi Xiao
89d0dfe1c8 Always pprint parse and compilation errors compactly. 2017-12-23 23:57:34 +00:00
Qi Xiao
3a6d84c402 util: Make SourceRange.Pprint return string, not take Writer. 2017-12-19 01:14:26 +00:00
Qi Xiao
35929aa9b9 util: SourceContext -> SourceRange. 2017-12-19 01:14:26 +00:00
Qi Xiao
de3f45e28e util: Break (*SourceContext).Pprint into multiple stages. 2017-12-19 01:14:26 +00:00
Qi Xiao
24ede4cd83 Function variables are now $f~ instead of $&f.
This is a breaking change. A tool for migrating scripts has been
provided: https://github.com/elves/upgrade-scripts-for-0.11
2017-12-18 21:31:54 +00:00
Qi Xiao
c5ef69addc parse: More descriptive error message for unexpected rune. 2017-12-04 00:36:21 +00:00
Qi Xiao
83b4795783 Support line continuation with backquote.
This fixes #417.
2017-08-13 18:41:36 +01:00
Qi Xiao
fc3ef31eb8 No backquotes for output capture anymore. 2017-08-13 18:41:33 +01:00
Qi Xiao
a48df99361 Parse options in lambda signature. 2017-08-05 21:50:44 +02:00
Qi Xiao
7ae9dacd00 parse: Remove unused errors. 2017-08-05 20:09:57 +02:00
Qi Xiao
3d3c3aad00 Clarify error message for chained assignment. 2017-07-12 00:05:15 +01:00
Rene Kaufmann
503cf7348e Make assignment chaining a syntax error (instead of crash)
This fixes #391.
2017-07-11 23:00:19 +01:00
Qi Xiao
35a34f36f1 parse: Expose Parser. 2017-05-31 22:46:26 +01:00
Qi Xiao
121a7b6a36 parse: Facilitate parsing non-chunk trees. 2017-05-30 01:10:21 +01:00
Qi Xiao
7a4d7b1e54 parse: Expose more of the parser. 2017-05-30 00:42:38 +01:00
Qi Xiao
106600a7da Fix misspellings. 2017-05-21 23:57:57 +01:00
Qi Xiao
910610f583 Make golint slightly happier. 2017-05-21 23:54:04 +01:00
Qi Xiao
b9735f3940 Run "gofmt -s". 2017-05-21 23:18:24 +01:00
Qi Xiao
9d9c2a250d PredCapture -> ExceptionCapture 2017-02-18 04:43:27 +00:00
Qi Xiao
052a1a60da Make "if" a special form using curly braces.
Now we have eliminated all control structures. They are now all special forms
instead. Yay!
2017-02-18 04:34:11 +00:00