https://gitlab.com/tezos/tezos
Raw File
Tip revision: 3970a7c87b8c0ddb8c2e50da8ae6f434c20f5447 authored by Thomas Letan on 30 June 2023, 10:16:51 UTC
DONOTMERGE: Make bin_testnet_scenarios an experimental executable
Tip revision: 3970a7c
JSON_parser.mly
%{
%}

%token EOF
%token LBRACE RBRACE LBRACKET RBRACKET COMMA COLON
%token NULL
%token <bool> BOOL
%token <float> FLOAT
%token <string> STRING

%type <JSON_AST.t> json
%start json
%%

json:
| NULL { `Null }
| BOOL { `Bool $1 }
| FLOAT { `Float $1 }
| STRING { `String $1 }
| LBRACE fields RBRACE { `O $2 }
| LBRACE RBRACE { `O [] }
| LBRACKET items RBRACKET { `A $2 }
| LBRACKET RBRACKET { `A [] }

fields:
| STRING COLON json COMMA fields { ($1, $3) :: $5 }
| STRING COLON json { [ $1, $3 ] }

items:
| json COMMA items { $1 :: $3 }
| json { [ $1 ] }
back to top