{
"success": true,
"count": 100,
"tokens": [
{
"kind": "Defmodule",
"text": "defmodule",
"start": 80,
"end": 89
},
{
"kind": "Variable",
"text": "MathOperations",
"start": 90,
"end": 104
},
{
"kind": "Do",
"text": "do",
"start": 105,
"end": 107
},
{
"kind": "At",
"text": "@",
"start": 111,
"end": 112
},
{
"kind": "Identifier",
"text": "moduledoc",
"start": 112,
"end": 121
},
{
"kind": "String",
"text": "\"\"",
"start": 122,
"end": 124
},
{
"kind": "String",
"text": "\"\r\n Provides basic mathematical operations and utilities.\r\n \"",
"start": 124,
"end": 187
},
{
"kind": "String",
"text": "\"\"",
"start": 187,
"end": 189
},
{
"kind": "At",
"text": "@",
"start": 195,
"end": 196
},
{
"kind": "Identifier",
"text": "pi",
"start": 196,
"end": 198
},
{
"kind": "Float",
"text": "3.14159265359",
"start": 199,
"end": 212
},
{
"kind": "Def",
"text": "def",
"start": 251,
"end": 254
},
{
"kind": "Identifier",
"text": "absolute_value",
"start": 255,
"end": 269
},
{
"kind": "LeftParen",
"text": "(",
"start": 269,
"end": 270
},
{
"kind": "Identifier",
"text": "x",
"start": 270,
"end": 271
},
{
"kind": "RightParen",
"text": ")",
"start": 271,
"end": 272
},
{
"kind": "When",
"text": "when",
"start": 273,
"end": 277
},
{
"kind": "Identifier",
"text": "x",
"start": 278,
"end": 279
},
{
"kind": "GreaterEqual",
"text": ">=",
"start": 280,
"end": 282
},
{
"kind": "Number",
"text": "0",
"start": 283,
"end": 284
},
{
"kind": "Comma",
"text": ",",
"start": 284,
"end": 285
},
{
"kind": "Do",
"text": "do",
"start": 286,
"end": 288
},
{
"kind": "Atom",
"text": ":",
"start": 288,
"end": 289
},
{
"kind": "Identifier",
"text": "x",
"start": 290,
"end": 291
},
{
"kind": "Def",
"text": "def",
"start": 295,
"end": 298
},
{
"kind": "Identifier",
"text": "absolute_value",
"start": 299,
"end": 313
},
{
"kind": "LeftParen",
"text": "(",
"start": 313,
"end": 314
},
{
"kind": "Identifier",
"text": "x",
"start": 314,
"end": 315
},
{
"kind": "RightParen",
"text": ")",
"start": 315,
"end": 316
},
{
"kind": "When",
"text": "when",
"start": 317,
"end": 321
},
{
"kind": "Identifier",
"text": "x",
"start": 322,
"end": 323
},
{
"kind": "Less",
"text": "<",
"start": 324,
"end": 325
},
{
"kind": "Number",
"text": "0",
"start": 326,
"end": 327
},
{
"kind": "Comma",
"text": ",",
"start": 327,
"end": 328
},
{
"kind": "Do",
"text": "do",
"start": 329,
"end": 331
},
{
"kind": "Atom",
"text": ":",
"start": 331,
"end": 332
},
{
"kind": "Minus",
"text": "-",
"start": 333,
"end": 334
},
{
"kind": "Identifier",
"text": "x",
"start": 334,
"end": 335
},
{
"kind": "Def",
"text": "def",
"start": 379,
"end": 382
},
{
"kind": "Identifier",
"text": "greet",
"start": 383,
"end": 388
},
{
"kind": "LeftParen",
"text": "(",
"start": 388,
"end": 389
},
{
"kind": "Identifier",
"text": "name",
"start": 389,
"end": 393
},
{
"kind": "Comma",
"text": ",",
"start": 393,
"end": 394
},
{
"kind": "Identifier",
"text": "greeting",
"start": 395,
"end": 403
},
{
"kind": "String",
"text": "\"Hello\"",
"start": 407,
"end": 414
},
{
"kind": "RightParen",
"text": ")",
"start": 414,
"end": 415
},
{
"kind": "Do",
"text": "do",
"start": 416,
"end": 418
},
{
"kind": "String",
"text": "\"#{greeting}, #{name}!\"",
"start": 424,
"end": 447
},
{
"kind": "End",
"text": "end",
"start": 451,
"end": 454
},
{
"kind": "Def",
"text": "def",
"start": 484,
"end": 487
},
{
"kind": "Identifier",
"text": "factorial",
"start": 488,
"end": 497
},
{
"kind": "LeftParen",
"text": "(",
"start": 497,
"end": 498
},
{
"kind": "Number",
"text": "0",
"start": 498,
"end": 499
},
{
"kind": "RightParen",
"text": ")",
"start": 499,
"end": 500
},
{
"kind": "Comma",
"text": ",",
"start": 500,
"end": 501
},
{
"kind": "Do",
"text": "do",
"start": 502,
"end": 504
},
{
"kind": "Atom",
"text": ":",
"start": 504,
"end": 505
},
{
"kind": "Number",
"text": "1",
"start": 506,
"end": 507
},
{
"kind": "Def",
"text": "def",
"start": 511,
"end": 514
},
{
"kind": "Identifier",
"text": "factorial",
"start": 515,
"end": 524
},
{
"kind": "LeftParen",
"text": "(",
"start": 524,
"end": 525
},
{
"kind": "Identifier",
"text": "n",
"start": 525,
"end": 526
},
{
"kind": "RightParen",
"text": ")",
"start": 526,
"end": 527
},
{
"kind": "When",
"text": "when",
"start": 528,
"end": 532
},
{
"kind": "Identifier",
"text": "n",
"start": 533,
"end": 534
},
{
"kind": "Greater",
"text": ">",
"start": 535,
"end": 536
},
{
"kind": "Number",
"text": "0",
"start": 537,
"end": 538
},
{
"kind": "Comma",
"text": ",",
"start": 538,
"end": 539
},
{
"kind": "Do",
"text": "do",
"start": 540,
"end": 542
},
{
"kind": "Atom",
"text": ":",
"start": 542,
"end": 543
},
{
"kind": "Identifier",
"text": "n",
"start": 544,
"end": 545
},
{
"kind": "Star",
"text": "*",
"start": 546,
"end": 547
},
{
"kind": "Identifier",
"text": "factorial",
"start": 548,
"end": 557
},
{
"kind": "LeftParen",
"text": "(",
"start": 557,
"end": 558
},
{
"kind": "Identifier",
"text": "n",
"start": 558,
"end": 559
},
{
"kind": "Minus",
"text": "-",
"start": 560,
"end": 561
},
{
"kind": "Number",
"text": "1",
"start": 562,
"end": 563
},
{
"kind": "RightParen",
"text": ")",
"start": 563,
"end": 564
},
{
"kind": "Def",
"text": "def",
"start": 597,
"end": 600
},
{
"kind": "Identifier",
"text": "apply_operation",
"start": 601,
"end": 616
},
{
"kind": "LeftParen",
"text": "(",
"start": 616,
"end": 617
},
{
"kind": "Identifier",
"text": "a",
"start": 617,
"end": 618
},
{
"kind": "Comma",
"text": ",",
"start": 618,
"end": 619
},
{
"kind": "Identifier",
"text": "b",
"start": 620,
"end": 621
},
{
"kind": "Comma",
"text": ",",
"start": 621,
"end": 622
},
{
"kind": "Identifier",
"text": "operation",
"start": 623,
"end": 632
},
{
"kind": "RightParen",
"text": ")",
"start": 632,
"end": 633
},
{
"kind": "Do",
"text": "do",
"start": 634,
"end": 636
},
{
"kind": "Identifier",
"text": "operation",
"start": 642,
"end": 651
},
{
"kind": "Dot",
"text": ".",
"start": 651,
"end": 652
},
{
"kind": "LeftParen",
"text": "(",
"start": 652,
"end": 653
},
{
"kind": "Identifier",
"text": "a",
"start": 653,
"end": 654
},
{
"kind": "Comma",
"text": ",",
"start": 654,
"end": 655
},
{
"kind": "Identifier",
"text": "b",
"start": 656,
"end": 657
},
{
"kind": "RightParen",
"text": ")",
"start": 657,
"end": 658
},
{
"kind": "End",
"text": "end",
"start": 662,
"end": 665
},
{
"kind": "Def",
"text": "def",
"start": 696,
"end": 699
},
{
"kind": "Identifier",
"text": "process_data",
"start": 700,
"end": 712
},
{
"kind": "LeftParen",
"text": "(",
"start": 712,
"end": 713
},
{
"kind": "Identifier",
"text": "data",
"start": 713,
"end": 717
}
],
"errors": []
}