{"id":18732386,"url":"https://github.com/merzak-x/lexicalanalyser","last_synced_at":"2025-04-12T18:31:09.809Z","repository":{"id":201853840,"uuid":"268930658","full_name":"MERZAK-X/LexicalAnalyser","owner":"MERZAK-X","description":"Lexical Analyser is a Lexer / Tokenizer that determines whether a source code is accepted by a given Deterministic Finite State Automaton or not.","archived":false,"fork":false,"pushed_at":"2020-07-12T01:45:22.000Z","size":793,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T12:51:10.264Z","etag":null,"topics":["deterministic-finite-automata","dfa","dfsa","lexical-analyser","lexical-analysis","lexical-analyzer"],"latest_commit_sha":null,"homepage":"https://git.io/JfNf4","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MERZAK-X.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null}},"created_at":"2020-06-02T23:34:42.000Z","updated_at":"2022-11-16T15:50:27.000Z","dependencies_parsed_at":"2023-10-20T07:24:09.596Z","dependency_job_id":null,"html_url":"https://github.com/MERZAK-X/LexicalAnalyser","commit_stats":null,"previous_names":["merzak-x/lexicalanalyser"],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MERZAK-X%2FLexicalAnalyser","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MERZAK-X%2FLexicalAnalyser/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MERZAK-X%2FLexicalAnalyser/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MERZAK-X%2FLexicalAnalyser/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MERZAK-X","download_url":"https://codeload.github.com/MERZAK-X/LexicalAnalyser/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248613292,"owners_count":21133485,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["deterministic-finite-automata","dfa","dfsa","lexical-analyser","lexical-analysis","lexical-analyzer"],"created_at":"2024-11-07T15:05:55.845Z","updated_at":"2025-04-12T18:31:09.064Z","avatar_url":"https://github.com/MERZAK-X.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# LexicalAnalyser\n_Lexical Analyser_ is a `Lexer / Tokenizer` that determines whether a `source code` is accepted by a given **Deterministic Finite State Automaton** or not, and outputs each `lexeme` with its corresponding `token type` or whether was it not accepted using the given **DFSA**. \n\n## Automaton\n\n\u003e Since **LexicalAnalyser** detects Tokens by their final states, the following final states rule must be respected for automaton's tokens !\n\n**Token**|**FinalState**\n:-----|:-----:\n|ID|1|\n|KEYWORD|12|\n|ARTH OP|2, 11|\n|REL OP|5, 9, 10|\n|STRING|13|\n|INT|4|\n|REAL|3, 8|\n|COMMENT|14|\n\n## Automaton's file format\n#### Template :\n```\nNumber of states\nAlphabets\nInitial State\nFinal states separated by space\nLanguage operators separated by space\nLanguage keywords separated by space\nTransitions {StartState Symbol EndState} [From 8th line to the end of the file]\nComments {# Comment} [Starting from line 8]\n```\n#### Examples :\n\n- [Simple Language Automaton](https://github.com/MERZAK-X/LexicalAnalyser/blob/master/lib/examples/SimpleLanguageAutomaton.test) : Automaton file example\n\n- [Source Code](https://github.com/MERZAK-X/LexicalAnalyser/blob/master/lib/examples/SourceCode.test) : Simple source code file example, that's accepted by the automaton above\n\n## Usage\n[![Requirements](https://badgen.net/badge/Requirements/.NET%20Core%20Runtime/red)](https://aka.ms/dotnet-core-applaunch)\n\u003e  Please make sure that `.NET Core` runtime is installed before running **LexicalAnalyser**, if not visit : https://aka.ms/dotnet-core-applaunch\n\n``` bash\nmerzak-x@PR3C1S10N:~$ ./LexicalAnalyser SimpleLanguageAutomaton.test SourceCode.test\n```\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eOutput result\u003c/b\u003e\u003c/summary\u003e\n\n```\nmerzak-x@PR3C1S10N:~$ ./LexicalAnalyser SimpleLanguageAutomaton.test SourceCode.test\n\nAutomaton [SimpleLanguageAutomaton] : \n\nE = {0, 1, 4, 2, 15, 3, 6, 7, 8, 5, 9, 10, 11} ; \n\nA = {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, _, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, \u003c, \u003e, (, ), \", +, -, *, /, =} ; \n\nq₀ = 0 ; \n\nF = {1, 2, 3, 4, 5, 8, 9, 10, 11} ;\n\n                                        \n✓ \u003cKEYWORD,{BEGIN}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cSTRING,{some quite long string with ¢ħæræŧ€rß +°c §.-?}\u003e\n✓ \u003cKEYWORD,{IF}\u003e\n✓ \u003cREAL,{13.4}\u003e\n✓ \u003cREL_OP,{\u003e=}\u003e\n✓ \u003cINT,{77}\u003e\n✓ \u003cKEYWORD,{THEN}\u003e\n✓ \u003cID,{variable}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{99}\u003e\n✓ \u003cARTH_OP,{-}\u003e\n✓ \u003cINT,{98}\u003e\n✓ \u003cKEYWORD,{ELSE}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cREAL,{17.54E^485512}\u003e\n✓ \u003cINT,{1}\u003e\n✓ \u003cINT,{-2}\u003e\n✓ \u003cINT,{9}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{8}\u003e\n✓ \u003cINT,{8}\u003e\n✓ \u003cARTH_OP,{/}\u003e\n✓ \u003cINT,{9}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cARTH_OP,{*}\u003e\n✓ \u003cINT,{-1}\u003e\n✓ \u003cREL_OP,{\u003c=}\u003e\n✓ \u003cINT,{77}\u003e\n✓ \u003cARTH_OP,{/}\u003e\n✓ \u003cINT,{18}\u003e\n✓ \u003cID,{test}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{99}\u003e\n✓ \u003cARTH_OP,{+}\u003e\n✓ \u003cINT,{98}\u003e\n✓ \u003cARTH_OP,{+}\u003e\n✓ \u003cINT,{1}\u003e\n✓ \u003cKEYWORD,{END}\u003e\n\n✓ The source file `SourceCode.test` is accepted by the automaton's described language !\n\n\nProcess finished with exit code 0.\n  \n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eOutput result with -q\u003c/b\u003e\u003c/summary\u003e\n\n```\nmerzak-x@PR3C1S10N:~$ dotnet LexicalAnalyser.dll \"/home/merzak-x/EMSI/C#/Projects/LexicalAnalyser/lib/examples/SimpleLanguageAutomaton.test\" \"/home/merzak-x/EMSI/C#/Projects/LexicalAnalyser/lib/examples/SourceCode.test\" -q\n\n\n✓ \u003cKEYWORD,{BEGIN}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cSTRING,{some quite long string with ¢ħæræŧ€rß +°c §.-?}\u003e\n✓ \u003cKEYWORD,{IF}\u003e\n✓ \u003cREAL,{13.4}\u003e\n✓ \u003cREL_OP,{\u003e=}\u003e\n✓ \u003cINT,{77}\u003e\n✓ \u003cKEYWORD,{THEN}\u003e\n✓ \u003cID,{variable}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{99}\u003e\n✓ \u003cARTH_OP,{-}\u003e\n✓ \u003cINT,{98}\u003e\n✓ \u003cKEYWORD,{ELSE}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cREAL,{17.54E^485512}\u003e\n✓ \u003cINT,{1}\u003e\n✓ \u003cINT,{-2}\u003e\n✓ \u003cINT,{9}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{8}\u003e\n✓ \u003cINT,{8}\u003e\n✓ \u003cARTH_OP,{/}\u003e\n✓ \u003cINT,{9}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cARTH_OP,{*}\u003e\n✓ \u003cINT,{-1}\u003e\n✓ \u003cREL_OP,{\u003c=}\u003e\n✓ \u003cINT,{77}\u003e\n✓ \u003cARTH_OP,{/}\u003e\n✓ \u003cINT,{18}\u003e\n✓ \u003cID,{test}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{99}\u003e\n✓ \u003cARTH_OP,{+}\u003e\n✓ \u003cINT,{98}\u003e\n✓ \u003cARTH_OP,{+}\u003e\n✓ \u003cINT,{1}\u003e\n✓ \u003cKEYWORD,{END}\u003e\n\n✓ The source file `SourceCode.test` is accepted by the automaton's described language !\n\n\nProcess finished with exit code 0.\n\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eOutput result with -v\u003c/b\u003e\u003c/summary\u003e\n\n```\nmerzak-x@PR3C1S10N:~$ dotnet LexicalAnalyser.dll \"/home/merzak-x/EMSI/C#/Projects/LexicalAnalyser/lib/examples/SimpleLanguageAutomaton.test\" \"/home/merzak-x/EMSI/C#/Projects/LexicalAnalyser/lib/examples/SourceCode.test\" -v\n\nAutomaton [SimpleLanguageAutomaton] : \n\nE = {0, 1, 4, 2, 15, 3, 6, 7, 8, 5, 9, 10, 11} ; \n\nA = {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, _, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, \u003c, \u003e, (, ), \", +, -, *, /, =} ; \n\nq₀ = 0 ; \n\nF = {1, 2, 3, 4, 5, 8, 9, 10, 11} ;\n\nSource code : \n\n‎`‎`‎`‎\n(* test comment *)\nBEGIN\nvar = \"some quite long string with ¢ħæræŧ€rß +°c §.-?\";\nIF 13.4 \u003e= 77\nTHEN\n    variable = 99 - 98;\nELSE\n    var=17.54E^485512\n    1-2;9=8;8/9;\n    var*-1\u003c=77/18;\n    test=99+98+1;\nEND\n‎`‎`‎`‎\n\n\n✓ \u003cKEYWORD,{BEGIN}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cSTRING,{some quite long string with ¢ħæræŧ€rß +°c §.-?}\u003e\n✓ \u003cKEYWORD,{IF}\u003e\n✓ \u003cREAL,{13.4}\u003e\n✓ \u003cREL_OP,{\u003e=}\u003e\n✓ \u003cINT,{77}\u003e\n✓ \u003cKEYWORD,{THEN}\u003e\n✓ \u003cID,{variable}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{99}\u003e\n✓ \u003cARTH_OP,{-}\u003e\n✓ \u003cINT,{98}\u003e\n✓ \u003cKEYWORD,{ELSE}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cREAL,{17.54E^485512}\u003e\n✓ \u003cINT,{1}\u003e\n✓ \u003cINT,{-2}\u003e\n✓ \u003cINT,{9}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{8}\u003e\n✓ \u003cINT,{8}\u003e\n✓ \u003cARTH_OP,{/}\u003e\n✓ \u003cINT,{9}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cARTH_OP,{*}\u003e\n✓ \u003cINT,{-1}\u003e\n✓ \u003cREL_OP,{\u003c=}\u003e\n✓ \u003cINT,{77}\u003e\n✓ \u003cARTH_OP,{/}\u003e\n✓ \u003cINT,{18}\u003e\n✓ \u003cID,{test}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{99}\u003e\n✓ \u003cARTH_OP,{+}\u003e\n✓ \u003cINT,{98}\u003e\n✓ \u003cARTH_OP,{+}\u003e\n✓ \u003cINT,{1}\u003e\n✓ \u003cKEYWORD,{END}\u003e\n\n✓ The source file `SourceCode.test` is accepted by the automaton's described language !\n\n\nProcess finished with exit code 0.\n\n```\n\n\u003c/details\u003e\n\n\u003cdetails\u003e\n  \u003csummary\u003e\u003cb\u003eOutput result with -vv\u003c/b\u003e\u003c/summary\u003e\n\n```\nmerzak-x@PR3C1S10N:~$ dotnet LexicalAnalyser.dll \"/home/merzak-x/EMSI/C#/Projects/LexicalAnalyser/lib/examples/SimpleLanguageAutomaton.test\" \"/home/merzak-x/EMSI/C#/Projects/LexicalAnalyser/lib/examples/SourceCode.test\" -vv\n\nAutomaton [SimpleLanguageAutomaton] : \n\nE = {0, 1, 4, 2, 15, 3, 6, 7, 8, 5, 9, 10, 11} ; \n\nA = {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, _, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, \u003c, \u003e, (, ), \", +, -, *, /, =} ; \n\nTransitions: {\n        σ(0, a) = 1\n        σ(0, b) = 1\n        σ(0, c) = 1\n        σ(0, d) = 1\n        σ(0, e) = 1\n        σ(0, f) = 1\n        σ(0, g) = 1\n        σ(0, h) = 1\n        σ(0, i) = 1\n        σ(0, j) = 1\n        σ(0, k) = 1\n        σ(0, l) = 1\n        σ(0, m) = 1\n        σ(0, n) = 1\n        σ(0, o) = 1\n        σ(0, p) = 1\n        σ(0, q) = 1\n        σ(0, r) = 1\n        σ(0, s) = 1\n        σ(0, t) = 1\n        σ(0, u) = 1\n        σ(0, v) = 1\n        σ(0, w) = 1\n        σ(0, x) = 1\n        σ(0, y) = 1\n        σ(0, z) = 1\n        σ(0, _) = 1\n        σ(1, 0) = 1\n        σ(1, 1) = 1\n        σ(1, 2) = 1\n        σ(1, 3) = 1\n        σ(1, 4) = 1\n        σ(1, 5) = 1\n        σ(1, 6) = 1\n        σ(1, 7) = 1\n        σ(1, 8) = 1\n        σ(1, 9) = 1\n        σ(1, a) = 1\n        σ(1, b) = 1\n        σ(1, c) = 1\n        σ(1, d) = 1\n        σ(1, e) = 1\n        σ(1, f) = 1\n        σ(1, g) = 1\n        σ(1, h) = 1\n        σ(1, i) = 1\n        σ(1, j) = 1\n        σ(1, k) = 1\n        σ(1, l) = 1\n        σ(1, m) = 1\n        σ(1, n) = 1\n        σ(1, o) = 1\n        σ(1, p) = 1\n        σ(1, q) = 1\n        σ(1, r) = 1\n        σ(1, s) = 1\n        σ(1, t) = 1\n        σ(1, u) = 1\n        σ(1, v) = 1\n        σ(1, w) = 1\n        σ(1, x) = 1\n        σ(1, y) = 1\n        σ(1, z) = 1\n        σ(1, _) = 1\n        σ(0, 0) = 4\n        σ(0, 1) = 4\n        σ(0, 2) = 4\n        σ(0, 3) = 4\n        σ(0, 4) = 4\n        σ(0, 5) = 4\n        σ(0, 6) = 4\n        σ(0, 7) = 4\n        σ(0, 8) = 4\n        σ(0, 9) = 4\n        σ(0, -) = 2\n        σ(2, 0) = 4\n        σ(2, 1) = 4\n        σ(2, 2) = 4\n        σ(2, 3) = 4\n        σ(2, 4) = 4\n        σ(2, 5) = 4\n        σ(2, 6) = 4\n        σ(2, 7) = 4\n        σ(2, 8) = 4\n        σ(2, 9) = 4\n        σ(4, 0) = 4\n        σ(4, 1) = 4\n        σ(4, 2) = 4\n        σ(4, 3) = 4\n        σ(4, 4) = 4\n        σ(4, 5) = 4\n        σ(4, 6) = 4\n        σ(4, 7) = 4\n        σ(4, 8) = 4\n        σ(4, 9) = 4\n        σ(4, .) = 15\n        σ(15, 0) = 3\n        σ(15, 1) = 3\n        σ(15, 2) = 3\n        σ(15, 3) = 3\n        σ(15, 4) = 3\n        σ(15, 5) = 3\n        σ(15, 6) = 3\n        σ(15, 7) = 3\n        σ(15, 8) = 3\n        σ(15, 9) = 3\n        σ(3, 0) = 3\n        σ(3, 1) = 3\n        σ(3, 2) = 3\n        σ(3, 3) = 3\n        σ(3, 4) = 3\n        σ(3, 5) = 3\n        σ(3, 6) = 3\n        σ(3, 7) = 3\n        σ(3, 8) = 3\n        σ(3, 9) = 3\n        σ(3, e) = 6\n        σ(6, ^) = 7\n        σ(7, 0) = 8\n        σ(7, 1) = 8\n        σ(7, 2) = 8\n        σ(7, 3) = 8\n        σ(7, 4) = 8\n        σ(7, 5) = 8\n        σ(7, 6) = 8\n        σ(7, 7) = 8\n        σ(7, 8) = 8\n        σ(7, 9) = 8\n        σ(8, 0) = 8\n        σ(8, 1) = 8\n        σ(8, 2) = 8\n        σ(8, 3) = 8\n        σ(8, 4) = 8\n        σ(8, 5) = 8\n        σ(8, 6) = 8\n        σ(8, 7) = 8\n        σ(8, 8) = 8\n        σ(8, 9) = 8\n        σ(0, =) = 5\n        σ(0, \u003c) = 9\n        σ(0, \u003e) = 10\n        σ(9, =) = 5\n        σ(9, \u003e) = 5\n        σ(10, =) = 5\n        σ(0, +) = 11\n        σ(0, *) = 11\n        σ(0, /) = 11\n} ; \n\nq₀ = 0 ; \n\nF = {1, 2, 3, 4, 5, 8, 9, 10, 11} ;\n\nSource code : \n\n‎`‎`‎`‎\n(* test comment *)\nBEGIN\nvar = \"some quite long string with ¢ħæræŧ€rß +°c §.-?\";\nIF 13.4 \u003e= 77\nTHEN\n    variable = 99 - 98;\nELSE\n    var=17.54E^485512\n    1-2;9=8;8/9;\n    var*-1\u003c=77/18;\n    test=99+98+1;\nEND\n‎`‎`‎`‎\n\n✓ \u003cKEYWORD,{BEGIN}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cSTRING,{some quite long string with ¢ħæræŧ€rß +°c §.-?}\u003e\n✓ \u003cKEYWORD,{IF}\u003e\n✓ \u003cREAL,{13.4}\u003e\n✓ \u003cREL_OP,{\u003e=}\u003e\n✓ \u003cINT,{77}\u003e\n✓ \u003cKEYWORD,{THEN}\u003e\n✓ \u003cID,{variable}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{99}\u003e\n✓ \u003cARTH_OP,{-}\u003e\n✓ \u003cINT,{98}\u003e\n✓ \u003cKEYWORD,{ELSE}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cREAL,{17.54E^485512}\u003e\n✓ \u003cINT,{1}\u003e\n✓ \u003cINT,{-2}\u003e\n✓ \u003cINT,{9}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{8}\u003e\n✓ \u003cINT,{8}\u003e\n✓ \u003cARTH_OP,{/}\u003e\n✓ \u003cINT,{9}\u003e\n✓ \u003cID,{var}\u003e\n✓ \u003cARTH_OP,{*}\u003e\n✓ \u003cINT,{-1}\u003e\n✓ \u003cREL_OP,{\u003c=}\u003e\n✓ \u003cINT,{77}\u003e\n✓ \u003cARTH_OP,{/}\u003e\n✓ \u003cINT,{18}\u003e\n✓ \u003cID,{test}\u003e\n✓ \u003cREL_OP,{=}\u003e\n✓ \u003cINT,{99}\u003e\n✓ \u003cARTH_OP,{+}\u003e\n✓ \u003cINT,{98}\u003e\n✓ \u003cARTH_OP,{+}\u003e\n✓ \u003cINT,{1}\u003e\n✓ \u003cKEYWORD,{END}\u003e\n\n✓ The source file `SourceCode.test` is accepted by the automaton's described language !\n\n\nProcess finished with exit code 0.\n\n```\n\n\u003c/details\u003e\n\n```\nLexicalAnalyser v1.4: https://github.com/MERZAK-X/LexicalAnalyser\n\nUsage: dotnet LexicalAnalyser.dll [[Automaton] [Sourcecode]] [-v|-vv|-q] [--help]\n\n    Arguments:\n        Automaton       Path to the Automaton's file\n        Source          Path to the source code file to be analysed\n    Options:\n        -v, -vv         Verbose level, 1 or 2 respectively, if not set 0\n        -q              Quiet (verbose level -1), only display results\n        --help          Display this help and exit\n        \nExamples:\n    ./LexicalAnalyser SimpleLanguageAutomaton.test SourceCode.test -v\n    dotnet LexicalAnalyser.dll lib/examples/SimpleLanguageAutomaton.test lib/examples/SourceCode.test\n\nDocumentation: https://git.io/JfNf4\n\nCopyright (C) 2020 \"NUL-X\"\n```\n#### Developers\n\n[![MERZAK-X](https://badgen.net/badge/Developer/MERZAK-X/black?icon=github)](https://github.com/MERZAK-X)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerzak-x%2Flexicalanalyser","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmerzak-x%2Flexicalanalyser","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerzak-x%2Flexicalanalyser/lists"}