Qi Xiao
17ae71b36c
Change the syntax of pairs to use = to separate key and value.
...
This resolves #136 .
2016-02-19 13:58:49 +01:00
Qi Xiao
7f58514b37
parse: Test against bogus command leader.
2016-02-17 01:15:13 +01:00
Qi Xiao
8affd31812
parse: Remove unused code.
2016-02-17 01:13:07 +01:00
Qi Xiao
587bac7317
parse: Test against Pprint{AST,ParseTree}.
2016-02-17 01:05:51 +01:00
Qi Xiao
5db90fd20f
Merge *util packages into an util package.
2016-02-16 19:15:29 +01:00
Qi Xiao
d88f0447c3
Parse incomplete lists correctly.
2016-02-16 14:51:49 +01:00
Qi Xiao
27a548488f
More sensible parsing of command leaders.
2016-02-14 20:06:18 +01:00
Qi Xiao
9eaca63c9b
parse: Force parsing of form head.
2016-02-14 19:58:36 +01:00
Qi Xiao
eda20bad02
Fix while
, for
only running one loop; fix do
.
...
This complete resolves #104 .
2016-02-14 19:52:23 +01:00
Qi Xiao
ec9a628ba0
Implement for
.
2016-02-14 19:42:08 +01:00
Qi Xiao
26006a03f4
Parse the for
form correctly.
2016-02-14 19:18:10 +01:00
Qi Xiao
6e1090b887
Implement control structures except for for
.
2016-02-14 19:13:12 +01:00
Qi Xiao
4b3d18442a
Use outer product semantics for indexing.
2016-02-14 18:13:53 +01:00
Qi Xiao
0e981ee6de
Preliminary parsing of control structures.
2016-02-14 15:29:00 +01:00
Qi Xiao
4ac2572555
Add a test case against parse.Parse.
2016-02-11 22:59:21 +01:00
Qi Xiao
dad3ddd86e
Update comment.
2016-02-11 20:28:18 +01:00
Qi Xiao
2fb73f4680
parse: Implement tryAssignment by tracking ps.errors.
2016-02-10 21:33:56 +01:00
Qi Xiao
8125e2f9e6
golint fixes.
2016-02-07 23:23:16 +01:00
Qi Xiao
9e40b129e1
Implement basic wildcard.
...
Implicit concat in compounds is much more strict now.
2016-02-07 20:39:03 +01:00
Qi Xiao
70f362667a
Compiling incomplete redir is now safe.
2016-02-07 19:10:52 +01:00
Qi Xiao
7603a83a98
Parse tildes; fix highlighting of wildcards.
2016-02-07 14:14:13 +01:00
Qi Xiao
64401af225
Variable nodes now have the variable name in .Value.
2016-02-07 02:31:11 +01:00
Qi Xiao
a41182a48a
Parsing of ?( and []{ is now safe; quote \n with '
2016-02-07 00:41:31 +01:00
Qi Xiao
e6bb065d4e
Parsing of incomplete maps is now safe.
2016-02-07 00:10:41 +01:00
Qi Xiao
74ae20cb8e
parse: Fix for last commit.
2016-02-06 23:29:38 +01:00
Qi Xiao
0ca923b38c
parse: Put the cutset in parser.
2016-02-06 23:17:57 +01:00
Qi Xiao
015def2d01
Cosmetics.
2016-02-06 17:13:53 +01:00
Qi Xiao
d7bd90e89e
parse: Add tests against error reporting.
2016-02-06 13:51:12 +01:00
Qi Xiao
954c75e16e
parse_test.go: Top down; comments.
2016-02-06 13:43:28 +01:00
Qi Xiao
4b7746e95a
Fix test cases.
2016-02-06 00:43:51 +01:00
Qi Xiao
c5c5a7ddcd
Fix parsing of assignment forms and the = builtin.
2016-02-06 00:43:29 +01:00
Qi Xiao
ddb7396046
Highlight compiling errors.
...
This fixes #64 .
2016-02-05 23:25:13 +00:00
Qi Xiao
5c8a8d5eec
Make parse report all errors.
2016-02-06 00:08:39 +01:00
Qi Xiao
af9ca8cd14
parse: Order pprint.go top-down; expose pprint{AST,ParseTree}
2016-02-05 23:13:28 +01:00
Qi Xiao
36578d2203
parse: Reorganize parse.go in top-down order.
2016-02-05 23:04:39 +01:00
Qi Xiao
3e0dc9c57b
parse and compile argumentless lambdas
2016-02-05 01:04:52 +01:00
Qi Xiao
6a5f6bf244
indexed -> indexing
2016-02-03 15:36:12 +00:00
Qi Xiao
b775b97b66
parse: reader -> parser
2016-02-02 18:39:44 +00:00
Qi Xiao
b3138a842e
parse: Make spaces also separators in braced list
2016-02-02 18:24:36 +00:00
Qi Xiao
e2a35509f9
parse: parse assignments; consolidate Chunk.parse
2016-01-31 19:47:52 +01:00
Qi Xiao
506be658f2
parse: cleaner handling of Redir.Dest
2016-01-31 17:03:28 +01:00
Qi Xiao
3823161fab
parse: fix broken parent of Redir.Dest; add test
2016-01-31 17:01:42 +01:00
Qi Xiao
c78fc6aa5b
parse: addSep now infers begin itself
2016-01-31 16:51:32 +01:00
Qi Xiao
82e027e435
Exitus -> Error
2016-01-30 17:11:43 +01:00
Qi Xiao
651c5b76e7
parse: add package doc
2016-01-29 03:00:11 +01:00
Qi Xiao
00999a6de3
support backquotes for output capture
2016-01-29 01:56:34 +01:00
Qi Xiao
a92c371467
parse: the first char of variable name can now be anything
2016-01-27 21:22:47 +00:00
Qi Xiao
8ac6dce0e4
parse: make backup after a read of EOF behave correctly
...
This is done by introducing an "overEOF" count, so that when rd.next() == EOF,
rd.backup() does nothing. This behavior is needed for some incomplete inputs.
2016-01-26 14:54:24 +01:00
Qi Xiao
5c64fa16e0
parse: support comments
2016-01-25 21:57:31 +01:00
Qi Xiao
aedf2120f8
parse: Always return whatever has been parsed
2016-01-24 19:19:44 +01:00