Blame view

bower_components/prism/tests/languages/bison/c_feature.test 1.5 KB
eb240478   Luigi Serra   public room cards...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
  %{

  	#include <stdio.h>

  %}

  %code {

  	if(foo) {

  

  	}

  }

  %%

  exp:

  	NUM {

  		$$ = f($3, $4);

  		@$.first_column = @1.first_column;

  		$result = $left + $<itype>1;

  	}

  %%

  

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

  

  [

  	["bison", [

  		["c", [

  			["delimiter", "%{"],

f748e9cf   Luigi Serra   new controllet an...
24
  			["macro", ["#", ["directive", "include"], ["string", "<stdio.h>"]]],

eb240478   Luigi Serra   public room cards...
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
  			["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.