%{
	#include <stdio.h>
%}
%code {
	if(foo) {

	}
}
%%
exp:
	NUM {
		$$ = f($3, $4);
		@$.first_column = @1.first_column;
		$result = $left + $<itype>1;
	}
%%

----------------------------------------------------

[
	["bison", [
		["c", [
			["delimiter", "%{"],
			["macro", [
				["directive-hash", "#"],
				["directive", "include"],
				["string", "<stdio.h>"]
			]],
			["delimiter", "%}"]
		]],
		["keyword", "%code"],
		["c", [
			["delimiter", "{"],
			["keyword", "if"],
			["punctuation", "("],
			"foo",
			["punctuation", ")"],
			["punctuation", "{"],

			["punctuation", "}"],
			["delimiter", "}"]
		]],
		["punctuation", "%%"],
		["property", "exp"],
		["punctuation", ":"],
		"\r\n\tNUM ",
		["c", [
			["delimiter", "{"],
			["bison-variable", [
				"$$"
			]],
			["operator", "="],
			["function", "f"],
			["punctuation", "("],
			["bison-variable", [
				"$3"
			]],
			["punctuation", ","],
			["bison-variable", [
				"$4"
			]],
			["punctuation", ")"],
			["punctuation", ";"],
			["bison-variable", [
				"@$"
			]],
			["punctuation", "."],
			"first_column ",
			["operator", "="],
			["bison-variable", [
				"@1"
			]],
			["punctuation", "."],
			"first_column",
			["punctuation", ";"],
			["bison-variable", [
				"$result"
			]],
			["operator", "="],
			["bison-variable", [
				"$left"
			]],
			["operator", "+"],
			["bison-variable", [
				"$",
				["punctuation", "<"],
				"itype",
				["punctuation", ">"],
				"1"
			]],
			["punctuation", ";"],
			["delimiter", "}"]
		]],
		["punctuation", "%%"]
	]]
]

----------------------------------------------------

Checks for C inside Bison, along with special Bison variables.
