Repository navigation
Expand file tree
/
Copy pathFileFractum.java
More file actions
66 lines (34 loc) · 2.5 KB
/
Copy pathFileFractum.java
File metadata and controls
66 lines (34 loc) · 2.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
package Breccia.parser;
/** A file fractum in Breccia. This is an initial state.
*
* <p>In the case of a headless file fractum, both the component list and text will be empty
* and the line number will reflect the position of the body alone.</p>
*
*/ @TagName("FileFractum") @DataReflector
public interface FileFractum extends Fractum {
// ━━━ G r a n u m ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
/** Returns 1: a file fractum begins with the first line of its file.
*/
public default @Override int lineNumber() { return 1; }
/** The default implementation returns ‘FileFractum’.
*/
public default @Override String tagName() { return "FileFractum"; }
// ━━━ P a r s e S t a t e ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
/** Returns true.
*/
public default @Override boolean isInitial() { return true; }
/** The default implementation returns {@linkplain Typestamp#fileFractum fileFractum}.
*/
public default @Override int typestamp() { return Typestamp.fileFractum; }
// ▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀
/** The end of a file fractum. This is a final state.
*/
public static interface End extends Fractum.End {
// ━━━ P a r s e S t a t e ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
/** Returns true.
*/
public default @Override boolean isFinal() { return true; }
/** The default implementation returns {@linkplain Typestamp#fileFractumEnd fileFractumEnd}.
*/
public default @Override int typestamp() { return Typestamp.fileFractumEnd; }}}
// Copyright © 2021-2022 Michael Allan. Licence MIT.