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 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
---input---
package {
default_applicable_licenses: ["example"],
}
module_name {
name: "foo",
// A comment inside a rule
shared_libs: ["libfoo"],
stl: "none",
srcs: my_srcs_var, // A comment following a property
level: 42,
arch: {
arm: {
srcs: ["arm.cpp"],
},
x86: {
srcs: ["x86.cpp"],
},
},
}
---tokens---
'package' Name.Function
' ' Text.Whitespace
'{' Punctuation
'\n ' Text.Whitespace
'default_applicable_licenses' Name
':' Punctuation
' ' Text.Whitespace
'[' Punctuation
'"example"' Literal.String
']' Punctuation
',' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n\n' Text.Whitespace
'module_name' Name.Function
' ' Text.Whitespace
'{' Punctuation
'\n ' Text.Whitespace
'name' Name
':' Punctuation
' ' Text.Whitespace
'"foo"' Literal.String
',' Punctuation
'\n ' Text.Whitespace
'// A comment inside a rule' Comment.Single
'\n ' Text.Whitespace
'shared_libs' Name
':' Punctuation
' ' Text.Whitespace
'[' Punctuation
'"libfoo"' Literal.String
']' Punctuation
',' Punctuation
'\n ' Text.Whitespace
'stl' Name
':' Punctuation
' ' Text.Whitespace
'"none"' Literal.String
',' Punctuation
'\n ' Text.Whitespace
'srcs' Name
':' Punctuation
' ' Text.Whitespace
'my_srcs_var' Name
',' Punctuation
' ' Text.Whitespace
'// A comment following a property' Comment.Single
'\n ' Text.Whitespace
'level' Name
':' Punctuation
' ' Text.Whitespace
'42' Literal.Number.Integer
',' Punctuation
'\n ' Text.Whitespace
'arch' Name
':' Punctuation
' ' Text.Whitespace
'{' Punctuation
'\n ' Text.Whitespace
'arm' Name
':' Punctuation
' ' Text.Whitespace
'{' Punctuation
'\n ' Text.Whitespace
'srcs' Name
':' Punctuation
' ' Text.Whitespace
'[' Punctuation
'"arm.cpp"' Literal.String
']' Punctuation
',' Punctuation
'\n ' Text.Whitespace
'}' Punctuation
',' Punctuation
'\n ' Text.Whitespace
'x86' Name
':' Punctuation
' ' Text.Whitespace
'{' Punctuation
'\n ' Text.Whitespace
'srcs' Name
':' Punctuation
' ' Text.Whitespace
'[' Punctuation
'"x86.cpp"' Literal.String
']' Punctuation
',' Punctuation
'\n ' Text.Whitespace
'}' Punctuation
',' Punctuation
'\n ' Text.Whitespace
'}' Punctuation
',' Punctuation
'\n' Text.Whitespace
'}' Punctuation
'\n' Text.Whitespace
|