OILS / tools / find / find.asdl View on Github | oilshell.org

53 lines, 46 significant
1-- Abstract representation of a 'find' expression.
2
3module find
4{
5 expr =
6 Concatenation(expr* exprs)
7 | Disjunction(expr* exprs)
8 | Conjunction(expr* exprs)
9 | Negation(expr expr)
10
11 | True_
12 | False_
13
14 | PathTest(pathAccessor a, predicate p)
15 | StatTest(statAccessor a, predicate p)
16
17 | DeleteAction
18 | PruneAction
19 | QuitAction
20 | PrintAction(string? file, string? format)
21 | LsAction(string? file)
22 | ExecAction(bool batch, bool dir, bool ok, string* argv)
23
24 pathAccessor =
25 FullPath
26 | Filename
27
28 statAccessor =
29 AccessTime
30 | CreationTime
31 | ModificationTime
32 | Filesystem
33 | Inode
34 | LinkCount
35 | Mode
36 | Filetype
37 | Uid
38 | Gid
39 | Username
40 | Groupname
41 | Size
42
43 predicate =
44 EQ(int n)
45 | GE(int n)
46 | LE(int n)
47 | StringMatch(string str, bool ignoreCase)
48 | GlobMatch(string glob, bool ignoreCase)
49 | RegexMatch(string re, bool ignoreCase)
50 | Readable
51 | Writable
52 | Executable
53}