File: sdp_parser.tspeg

package info (click to toggle)
cloc 2.04-1
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 7,776 kB
  • sloc: perl: 29,368; cpp: 1,219; ansic: 334; asm: 267; makefile: 240; sh: 186; sql: 144; java: 136; ruby: 111; cs: 104; python: 84; pascal: 52; lisp: 50; cobol: 35; f90: 35; haskell: 35; objc: 25; php: 22; javascript: 15; fortran: 9; ml: 8; xml: 7; tcl: 2
file content (55 lines) | stat: -rw-r--r-- 2,237 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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
/*
Exerpt from
  https://github.com/StoneCypher/short_offer/raw/main/src/peg/sdp_parser.pegjs
*/

IceChar24
  = a:IceChar b:IceChar c:IceChar d:IceChar e:IceChar f:IceChar
    g:IceChar h:IceChar i:IceChar j:IceChar k:IceChar l:IceChar
    m:IceChar n:IceChar o:IceChar p:IceChar q:IceChar r:IceChar
    s:IceChar t:IceChar u:IceChar v:IceChar w:IceChar x:IceChar
  { return [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x].join(''); }



IceChar32
  = a:IceChar  b:IceChar  c:IceChar  d:IceChar  e:IceChar  f:IceChar
    g:IceChar  h:IceChar  i:IceChar  j:IceChar  k:IceChar  l:IceChar
    m:IceChar  n:IceChar  o:IceChar  p:IceChar  q:IceChar  r:IceChar
    s:IceChar  t:IceChar  u:IceChar  v:IceChar  w:IceChar  x:IceChar
    y:IceChar  z:IceChar  aa:IceChar ab:IceChar ac:IceChar ad:IceChar
    ae:IceChar af:IceChar
  { return [a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,ab,ac,ad,ae,af].join(''); }

// 
// 
// GUID
//   = a:Hex8 '-' b:Hex4 '-' c:Hex4 '-' d:Hex4 '-' e:Hex12
//   { return [a,b,c,d,e].join(''); }
// 
// 
// 
// IP4
//   = a:Decimal '.' b:Decimal '.' c:Decimal '.' d:Decimal
//   { return ((((( (a*256n) +b) *256n) +c) *256n) +d).toString(); }
// 
// 
// 
M_h16
  = d:(":" h16) { return `:${d[1]}`; }



/* cribbed from https://git.insoft.cz/insoft/modified-sip.js/-/blob/3081a21bd47215679f7f1dac8c771ae6f3d7193b/src/grammar/src/grammar.pegjs
IP6
  = a:h16 ":" b:h16 ":" c:h16 ":" d:h16 ":" e:h16 ":" f:h16 ":" g:ls32 { return `${a}:${b}:${c}:${d}:${e}:${f}:${g}`; }
  /      "::" b:h16 ":" c:h16 ":" d:h16 ":" e:h16 ":" f:h16 ":" g:ls32 { return `::${b}:${c}:${d}:${e}:${f}:${g}`; }
  /      "::" b:h16 ":" c:h16 ":" d:h16 ":" e:h16 ":" f:ls32           { return `::${b}:${c}:${d}:${e}:${f}`; }
  /      "::" b:h16 ":" c:h16 ":" d:h16 ":" e:ls32                     { return `::${b}:${c}:${d}:${e}`; }
  /      "::" b:h16 ":" c:h16 ":" d:ls32                               { return `::${b}:${c}:${d}`; }
 */      "::" b:h16 ":" c:ls32                                         { return `::${b}:${c}`; }
  /      "::" b:ls32                                                   { return `::${b}`; }
  /      "::" b:h16                                                    { return `::${b}`; }


  // truncated