---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