diff --git a/compile b/compile index 28f44ea..403e20a 100755 --- a/compile +++ b/compile @@ -17,4 +17,8 @@ SRC+=" src/json_entities/*.c" CFLAGS+=" -Iinclude/lexer" SRC+=" src/lexer/*.c" +# PARSER +CFLAGS+=" -Iinclude/parser" +SRC+=" src/parser/*.c" + $CC $CFLAGS $SRC -o $OUT diff --git a/compile_commands.json b/compile_commands.json index 7d0b180..4a3e0a6 100644 --- a/compile_commands.json +++ b/compile_commands.json @@ -11,13 +11,14 @@ "-Iinclude/dstring", "-Iinclude/json_entities", "-Iinclude/lexer", + "-Iinclude/parser", "-o", "main", "src/main.c" ], - "directory": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json", - "file": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/src/main.c", - "output": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/main" + "directory": "/Users/abdelrahman/dev/personal/say-it-in-json", + "file": "/Users/abdelrahman/dev/personal/say-it-in-json/src/main.c", + "output": "/Users/abdelrahman/dev/personal/say-it-in-json/main" }, { "arguments": [ @@ -31,13 +32,14 @@ "-Iinclude/dstring", "-Iinclude/json_entities", "-Iinclude/lexer", + "-Iinclude/parser", "-o", "main", "src/dstring/dstring.c" ], - "directory": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json", - "file": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/src/dstring/dstring.c", - "output": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/main" + "directory": "/Users/abdelrahman/dev/personal/say-it-in-json", + "file": "/Users/abdelrahman/dev/personal/say-it-in-json/src/dstring/dstring.c", + "output": "/Users/abdelrahman/dev/personal/say-it-in-json/main" }, { "arguments": [ @@ -51,13 +53,14 @@ "-Iinclude/dstring", "-Iinclude/json_entities", "-Iinclude/lexer", + "-Iinclude/parser", "-o", "main", "src/json_entities/json_entities.c" ], - "directory": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json", - "file": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/src/json_entities/json_entities.c", - "output": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/main" + "directory": "/Users/abdelrahman/dev/personal/say-it-in-json", + "file": "/Users/abdelrahman/dev/personal/say-it-in-json/src/json_entities/json_entities.c", + "output": "/Users/abdelrahman/dev/personal/say-it-in-json/main" }, { "arguments": [ @@ -71,296 +74,34 @@ "-Iinclude/dstring", "-Iinclude/json_entities", "-Iinclude/lexer", + "-Iinclude/parser", "-o", "main", "src/lexer/lexer.c" ], - "directory": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json", - "file": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/src/lexer/lexer.c", - "output": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/main" + "directory": "/Users/abdelrahman/dev/personal/say-it-in-json", + "file": "/Users/abdelrahman/dev/personal/say-it-in-json/src/lexer/lexer.c", + "output": "/Users/abdelrahman/dev/personal/say-it-in-json/main" }, { "arguments": [ - "/usr/bin/clang-16", - "-cc1", - "-triple", - "x86_64-redhat-linux-gnu", - "-emit-obj", - "-mrelax-all", - "-disable-free", - "-clear-ast-before-backend", - "-disable-llvm-verifier", - "-discard-value-names", - "-main-file-name", - "-mrelocation-model", - "static", - "-mframe-pointer=all", - "-fmath-errno", - "-ffp-contract=on", - "-fno-rounding-math", - "-mconstructor-aliases", - "-funwind-tables=2", - "-target-cpu", - "x86-64", - "-tune-cpu", - "generic", - "-mllvm", - "-treat-scalable-fixed-error-as-warning", - "-debug-info-kind=constructor", - "-dwarf-version=4", - "-debugger-tuning=gdb", - "-fcoverage-compilation-dir=/home/abdelrahman/dev_work/say_it_in_json", - "-resource-dir", - "/usr/lib64/clang/16", - "-I", - "include", - "-I", - "include/dstring", - "-I", - "include/json_entities", - "-I", - "include/lexer", - "-internal-isystem", - "/usr/lib64/clang/16/include", - "-internal-isystem", - "/usr/local/include", - "-internal-isystem", - "/usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include", - "-internal-externc-isystem", - "/include", - "-internal-externc-isystem", - "/usr/include", + "/usr/bin/clang", + "-c", + "-g", "-Wall", "-Werror", "-pedantic", - "-fdebug-compilation-dir=/home/abdelrahman/dev_work/say_it_in_json", - "-ferror-limit", - "19", - "-fgnuc-version=4.2.1", - "-fcolor-diagnostics", - "-faddrsig", - "-D__GCC_HAVE_DWARF2_CFI_ASM=1", - "-x", - "c", + "-Iinclude", + "-Iinclude/dstring", + "-Iinclude/json_entities", + "-Iinclude/lexer", + "-Iinclude/parser", "-o", - "/tmp/main-a21b7e.o", - "src/main.c" + "main", + "src/parser/parser.c" ], - "directory": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json", - "file": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/src/main.c", - "output": "/tmp/main-a21b7e.o" - }, - { - "arguments": [ - "/usr/bin/clang-16", - "-cc1", - "-triple", - "x86_64-redhat-linux-gnu", - "-emit-obj", - "-mrelax-all", - "-disable-free", - "-clear-ast-before-backend", - "-disable-llvm-verifier", - "-discard-value-names", - "-main-file-name", - "-mrelocation-model", - "static", - "-mframe-pointer=all", - "-fmath-errno", - "-ffp-contract=on", - "-fno-rounding-math", - "-mconstructor-aliases", - "-funwind-tables=2", - "-target-cpu", - "x86-64", - "-tune-cpu", - "generic", - "-mllvm", - "-treat-scalable-fixed-error-as-warning", - "-debug-info-kind=constructor", - "-dwarf-version=4", - "-debugger-tuning=gdb", - "-fcoverage-compilation-dir=/home/abdelrahman/dev_work/say_it_in_json", - "-resource-dir", - "/usr/lib64/clang/16", - "-I", - "include", - "-I", - "include/dstring", - "-I", - "include/json_entities", - "-I", - "include/lexer", - "-internal-isystem", - "/usr/lib64/clang/16/include", - "-internal-isystem", - "/usr/local/include", - "-internal-isystem", - "/usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include", - "-internal-externc-isystem", - "/include", - "-internal-externc-isystem", - "/usr/include", - "-Wall", - "-Werror", - "-pedantic", - "-fdebug-compilation-dir=/home/abdelrahman/dev_work/say_it_in_json", - "-ferror-limit", - "19", - "-fgnuc-version=4.2.1", - "-fcolor-diagnostics", - "-faddrsig", - "-D__GCC_HAVE_DWARF2_CFI_ASM=1", - "-x", - "c", - "-o", - "/tmp/dstring-17d81f.o", - "src/dstring/dstring.c" - ], - "directory": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json", - "file": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/src/dstring/dstring.c", - "output": "/tmp/dstring-17d81f.o" - }, - { - "arguments": [ - "/usr/bin/clang-16", - "-cc1", - "-triple", - "x86_64-redhat-linux-gnu", - "-emit-obj", - "-mrelax-all", - "-disable-free", - "-clear-ast-before-backend", - "-disable-llvm-verifier", - "-discard-value-names", - "-main-file-name", - "-mrelocation-model", - "static", - "-mframe-pointer=all", - "-fmath-errno", - "-ffp-contract=on", - "-fno-rounding-math", - "-mconstructor-aliases", - "-funwind-tables=2", - "-target-cpu", - "x86-64", - "-tune-cpu", - "generic", - "-mllvm", - "-treat-scalable-fixed-error-as-warning", - "-debug-info-kind=constructor", - "-dwarf-version=4", - "-debugger-tuning=gdb", - "-fcoverage-compilation-dir=/home/abdelrahman/dev_work/say_it_in_json", - "-resource-dir", - "/usr/lib64/clang/16", - "-I", - "include", - "-I", - "include/dstring", - "-I", - "include/json_entities", - "-I", - "include/lexer", - "-internal-isystem", - "/usr/lib64/clang/16/include", - "-internal-isystem", - "/usr/local/include", - "-internal-isystem", - "/usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include", - "-internal-externc-isystem", - "/include", - "-internal-externc-isystem", - "/usr/include", - "-Wall", - "-Werror", - "-pedantic", - "-fdebug-compilation-dir=/home/abdelrahman/dev_work/say_it_in_json", - "-ferror-limit", - "19", - "-fgnuc-version=4.2.1", - "-fcolor-diagnostics", - "-faddrsig", - "-D__GCC_HAVE_DWARF2_CFI_ASM=1", - "-x", - "c", - "-o", - "/tmp/json_entities-66f73b.o", - "src/json_entities/json_entities.c" - ], - "directory": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json", - "file": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/src/json_entities/json_entities.c", - "output": "/tmp/json_entities-66f73b.o" - }, - { - "arguments": [ - "/usr/bin/clang-16", - "-cc1", - "-triple", - "x86_64-redhat-linux-gnu", - "-emit-obj", - "-mrelax-all", - "-disable-free", - "-clear-ast-before-backend", - "-disable-llvm-verifier", - "-discard-value-names", - "-main-file-name", - "-mrelocation-model", - "static", - "-mframe-pointer=all", - "-fmath-errno", - "-ffp-contract=on", - "-fno-rounding-math", - "-mconstructor-aliases", - "-funwind-tables=2", - "-target-cpu", - "x86-64", - "-tune-cpu", - "generic", - "-mllvm", - "-treat-scalable-fixed-error-as-warning", - "-debug-info-kind=constructor", - "-dwarf-version=4", - "-debugger-tuning=gdb", - "-fcoverage-compilation-dir=/home/abdelrahman/dev_work/say_it_in_json", - "-resource-dir", - "/usr/lib64/clang/16", - "-I", - "include", - "-I", - "include/dstring", - "-I", - "include/json_entities", - "-I", - "include/lexer", - "-internal-isystem", - "/usr/lib64/clang/16/include", - "-internal-isystem", - "/usr/local/include", - "-internal-isystem", - "/usr/bin/../lib/gcc/x86_64-redhat-linux/13/../../../../x86_64-redhat-linux/include", - "-internal-externc-isystem", - "/include", - "-internal-externc-isystem", - "/usr/include", - "-Wall", - "-Werror", - "-pedantic", - "-fdebug-compilation-dir=/home/abdelrahman/dev_work/say_it_in_json", - "-ferror-limit", - "19", - "-fgnuc-version=4.2.1", - "-fcolor-diagnostics", - "-faddrsig", - "-D__GCC_HAVE_DWARF2_CFI_ASM=1", - "-x", - "c", - "-o", - "/tmp/lexer-66d0ff.o", - "src/lexer/lexer.c" - ], - "directory": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json", - "file": "/mnt/3A5CDF785CDF2CFF/Users/abdoo/dev/say_it_in_json/src/lexer/lexer.c", - "output": "/tmp/lexer-66d0ff.o" + "directory": "/Users/abdelrahman/dev/personal/say-it-in-json", + "file": "/Users/abdelrahman/dev/personal/say-it-in-json/src/parser/parser.c", + "output": "/Users/abdelrahman/dev/personal/say-it-in-json/main" } ] diff --git a/include/parser/parser.h b/include/parser/parser.h new file mode 100644 index 0000000..99cef3d --- /dev/null +++ b/include/parser/parser.h @@ -0,0 +1,8 @@ +#ifndef PARSER_H +#define PARSER_H + +#include "lexer.h" + +void parse_token(token_t token); + +#endif // !PARSER_H diff --git a/src/parser/parser.c b/src/parser/parser.c new file mode 100644 index 0000000..14d8acf --- /dev/null +++ b/src/parser/parser.c @@ -0,0 +1,6 @@ +#include "parser.h" +#include "json_entities.h" +#include "lexer.h" +#include + +void parse_token(token_t token) {}