Blame view

src/main/antlr4/com/ishchuk/antlr4/JSONgram.g4 468 Bytes
ea3b85f2   eishchuk   Initial commit
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  grammar JSONgram;
  
  json : content;
  
  object : '{' keyValue (',' keyValue)* '}' | '{' '}';
  table : '[' content (',' content)* ']' | '[' ']';
  keyValue : CHAINE ':' content;
  
  content: CHAINE | NUMBER | object | table | 'true' | 'false' | 'null';
  
  
  fragment INT: '0' | [1-9] [0-9]*;
  fragment EXP: [Ee] [+\-]? INT;
  
  CHAINE : '"' [a-zA-Z0-9_!@#$%^&*()\-+=/.,<>;':] [a-zA-Z0-9_!@#$%^&*()\-+=/.,<>;':]* '"' ;
  NUMBER : '-'? INT ('.' [0-9] +)? EXP?;
  
  WS : [ \t\n\r] + -> skip;