blob: 4678b9d76712107d45fe95b8f9ae935f6b3dbb6a [file] [log] [blame]
# Check basic lexing functionality.
#
# RUN: %{llbuild} ninja lex %s 2> %t.err
# RUN: %{FileCheck} < %t.err %s
# CHECK: (Token "Comment" String:{{.*}} Length:70 Line:[[@LINE+1]] Column:0)
# This is a 70 character comment (which does not include the newline).
# CHECK: (Token "Colon" String:":" Length:1 Line:[[@LINE+1]] Column:0)
:
# CHECK: (Token "Pipe" String:"|" Length:1 Line:[[@LINE+1]] Column:0)
|
# CHECK: (Token "PipePipe" String:"||" Length:2 Line:[[@LINE+1]] Column:0)
||
# CHECK: (Token "Identifier" String:"a" Length:1 Line:[[@LINE+3]] Column:0)
# CHECK: (Token "Equals" String:"=" Length:1 Line:[[@LINE+2]] Column:1)
# CHECK: (Token "Identifier" String:"b" Length:1 Line:[[@LINE+1]] Column:3)
a= b
# CHECK: (Token "Identifier" String:"a" Length:1 Line:[[@LINE+3]] Column:0)
# CHECK: (Token "Colon" String:":" Length:1 Line:[[@LINE+2]] Column:1)
# CHECK: (Token "Identifier" String:"b" Length:1 Line:[[@LINE+1]] Column:3)
a: b
# CHECK: (Token "Identifier" String:"a" Length:1 Line:[[@LINE+3]] Column:0)
# CHECK: (Token "Unknown" String:"$" Length:1 Line:[[@LINE+2]] Column:1)
# CHECK: (Token "Identifier" String:"b" Length:1 Line:[[@LINE+1]] Column:2)
a$b
# Check indentation tokens.
#
# CHECK: (Token "Indentation" String:" " Length:4 Line:[[@LINE+2]] Column:0)
# CHECK: (Token "Identifier" String:"b" Length:1 Line:[[@LINE+1]] Column:4)
b
# Check keyword tokens.
#
# CHECK: (Token "KWBuild" String:"build" Length:5 Line:[[@LINE+1]] Column:0)
build
# CHECK: (Token "KWDefault" String:"default" Length:7 Line:[[@LINE+1]] Column:0)
default
# CHECK: (Token "KWInclude" String:"include" Length:7 Line:[[@LINE+1]] Column:0)
include
# CHECK: (Token "KWPool" String:"pool" Length:4 Line:[[@LINE+1]] Column:0)
pool
# CHECK: (Token "KWRule" String:"rule" Length:4 Line:[[@LINE+1]] Column:0)
rule
# CHECK: (Token "KWSubninja" String:"subninja" Length:8 Line:[[@LINE+1]] Column:0)
subninja
# CHECK: (Token "EndOfFile" String:{{.*}} Length:0 Line:[[@LINE+1]] Column:0)