From: Thomas Walker Lynch Date: Thu, 25 Jul 2024 09:37:59 +0000 (+0000) Subject: First commit. X-Git-Url: https://git.reasoningtechnology.com/usr/lib/python2.7/encodings/cp869.py?a=commitdiff_plain;h=a35dbe9e78db5a97140fb70fc9bd6c60a004d746;p=GQL-to-Cypher First commit. --- a35dbe9e78db5a97140fb70fc9bd6c60a004d746 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..109116e --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +/env/ +library/ +machine_fodder/ +temporary/ +*~ +*.o +a.out + diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..e177f6f --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,152 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that +entity. For the purposes of this definition, "control" means (i) the power, +direct or indirect, to cause the direction or management of such entity, whether +by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of +the outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. Subject to the terms and conditions of this +License, each Contributor hereby grants to You a perpetual, worldwide, +non-exclusive, no-charge, royalty-free, irrevocable copyright license to +reproduce, prepare Derivative Works of, publicly display, publicly perform, +sublicense, and distribute the Work and such Derivative Works in Source or +Object form. + +3. Grant of Patent License. Subject to the terms and conditions of this License, +each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, +no-charge, royalty-free, irrevocable (except as stated in this section) patent +license to make, have made, use, offer to sell, sell, import, and otherwise +transfer the Work, where such license applies only to those patent claims +licensable by such Contributor that are necessarily infringed by their +Contribution(s) alone or by combination of their Contribution(s) with the Work +to which such Contribution(s) was submitted. If You institute patent litigation +against any entity (including a cross-claim or counterclaim in a lawsuit) +alleging that the Work or a Contribution incorporated within the Work +constitutes direct or contributory patent infringement, then any patent licenses +granted to You under this License for that Work shall terminate as of the date +such litigation is filed. + +4. Redistribution. You may reproduce and distribute copies of the Work or +Derivative Works thereof in any medium, with or without modifications, and in +Source or Object form, provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and You must cause any modified files to carry prominent notices +stating that You changed the files; and You must retain, in the Source form of +any Derivative Works that You distribute, all copyright, patent, trademark, and +attribution notices from the Source form of the Work, excluding those notices +that do not pertain to any part of the Derivative Works; and If the Work +includes a "NOTICE" text file as part of its distribution, then any Derivative +Works that You distribute must include a readable copy of the attribution +notices contained within such NOTICE file, excluding those notices that do not +pertain to any part of the Derivative Works, in at least one of the following +places: within a NOTICE text file distributed as part of the Derivative Works; +within the Source form or documentation, if provided along with the Derivative +Works; or, within a display generated by the Derivative Works, if and wherever +such third-party notices normally appear. The contents of the NOTICE file are +for informational purposes only and do not modify the License. You may add Your +own attribution notices within Derivative Works that You distribute, alongside +or as an addendum to the NOTICE text from the Work, provided that such +additional attribution notices cannot be construed as modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. Unless You explicitly state otherwise, any +Contribution intentionally submitted for inclusion in the Work by You to the +Licensor shall be under the terms and conditions of this License, without any +additional terms or conditions. Notwithstanding the above, nothing herein shall +supersede or modify the terms of any separate license agreement you may have +executed with Licensor regarding such Contributions. + +6. Trademarks. This License does not grant permission to use the trade names, +trademarks, service marks, or product names of the Licensor, except as required +for reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. Unless required by applicable law or agreed to in +writing, Licensor provides the Work (and each Contributor provides its +Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +KIND, either express or implied, including, without limitation, any warranties +or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +PARTICULAR PURPOSE. You are solely responsible for determining the +appropriateness of using or redistributing the Work and assume any risks +associated with Your exercise of permissions under this License. + +8. Limitation of Liability. In no event and under no legal theory, whether in +tort (including negligence), contract, or otherwise, unless required by +applicable law (such as deliberate and grossly negligent acts) or agreed to in +writing, shall any Contributor be liable to You for damages, including any +direct, indirect, special, incidental, or consequential damages of any character +arising as a result of this License or out of the use or inability to use the +Work (including but not limited to damages for loss of goodwill, work stoppage, +computer failure or malfunction, or any and all other commercial damages or +losses), even if such Contributor has been advised of the possibility of such +damages. + +9. Accepting Warranty or Additional Liability. While redistributing the Work or +Derivative Works thereof, You may choose to offer, and charge a fee for, +acceptance of support, warranty, indemnity, or other liability obligations +and/or rights consistent with this License. However, in accepting such +obligations, You may act only on Your own behalf and on Your sole +responsibility, not on behalf of any other Contributor, and only if You agree to +indemnify, defend, and hold each Contributor harmless for any liability incurred +by, or claims asserted against, such Contributor by reason of your accepting any +such warranty or additional liability. + +END OF TERMS AND CONDITIONS diff --git a/README.md b/README.md new file mode 100644 index 0000000..59bdd0b --- /dev/null +++ b/README.md @@ -0,0 +1,28 @@ + +# Project management + +Please read documents in the ./lector directory for information +about managing this project and using the tools, if any. + +For developers, get started by typing: +``` +> . developer_init +`` + +That is similar to the `activate` of Python. + +# About + +This is a transpiler from GQL to Cypher. + +The `syntax_recognizer` accepts a GQL query and then outputs a +the syntax found as an XML file. + +# State of development + +Working on the `syntax_recognizer`. + + + + diff --git a/developer/compiler/.githolder b/developer/compiler/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/developer/deprecated/.githolder b/developer/deprecated/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/developer/experiment/.githolder b/developer/experiment/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/developer/interpreter/.githolder b/developer/interpreter/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/developer/lector/.githolder b/developer/lector/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/developer/linker/.githolder b/developer/linker/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/developer/machine/.githolder b/developer/machine/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/developer/makefile b/developer/makefile new file mode 100644 index 0000000..de97664 --- /dev/null +++ b/developer/makefile @@ -0,0 +1,31 @@ +# Used for C or C++ files along with the makefile found in the 'resource' project + +# how to run make +SHELL=/bin/bash +RESOURCE := /var/user_data/Thomas-developer/resource/development + +# picks up globally defined variables, that can be used/modified while defining local variables +include $(RESOURCE)/library/makefile-environment + +ENVDIR=../env +DOCDIR=lector +EXECDIR=machine +LIBDIR=linker +SRCDIR=compiler +TESTDIR=test +TMPDIR=temporary +TRYDIR=experiment + +C=gcc + +CFLAGS= -include "compiler/environment.h" -std=gnu18 -Werror -O0 -ggdb -DDEBUG -DDEBUGDB -I$(SRCDIR) -I$(RESOURCE)/include -I$(ENVDIR)/include -I/usr/include/libevdev-1.0 +LINKFLAGS=-L$(LIBDIR) -L$(RESCOURCE)/lib/ -L$(ENVDIR)/lib/ -L/usr/lib -L/usr/lib64 -l$(PROJECT) -levdev + + +#-------------------------------------------------------------------------------- +# import the rules +# + +# the dash prefix means to ignore include errors, the DEPFILE might not exist yet +-include $(DEPFILE) +include $(RESOURCE)/library/makefile diff --git a/developer/test/.githolder b/developer/test/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/developer_init b/developer_init new file mode 100644 index 0000000..6020d58 --- /dev/null +++ b/developer_init @@ -0,0 +1,6 @@ +#!/bin/bash + +script_path="$(dirname "$(realpath "${BASH_SOURCE[0]}")")" +export PROJECT=$(basename "$script_path") +export PATH="$script_path"/env/bin:$PATH +cd development diff --git a/executor/.githolder b/executor/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/executor/install b/executor/install new file mode 100644 index 0000000..e69de29 diff --git a/executor/keep_empty_dirs b/executor/keep_empty_dirs new file mode 100644 index 0000000..0a200b3 --- /dev/null +++ b/executor/keep_empty_dirs @@ -0,0 +1,2 @@ +# git does not keep empty directories +find . -type d -exec touch {}/.githolder \; diff --git a/hooks/.githolder b/hooks/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/lector/.githolder b/lector/.githolder new file mode 100644 index 0000000..e69de29 diff --git a/lector/README.md b/lector/README.md new file mode 100644 index 0000000..04d3de4 --- /dev/null +++ b/lector/README.md @@ -0,0 +1,7 @@ + +This directory contains project management documentation. Find here information +about the directory structure, tools used, and installation required for setting +up the environment. + +The `documentation` directory under `developer` has documentation for the code +being developed. diff --git a/lector/directory_structure.md b/lector/directory_structure.md new file mode 100644 index 0000000..126eb12 --- /dev/null +++ b/lector/directory_structure.md @@ -0,0 +1,58 @@ + +# Property-Based Directory Naming + +We think of a directory name as being the value of a property, where +this property is shared by each and every file in said directory. +These are the properties, in order that we prefer to use them: + +* `processed_by` +* `category_processed_by` +* `purpose_of` + +When source files of different types are mixed in a directory, we generalize +to the category. A mix of Rust and C files would be called `compiler` as the +category of the programs used to process the files. A mix of interpreted scripts +would be `interpreter`. + +When a directory contains mixed source files, we generalize to the category. A +directory with Rust and C files is named `compiler`, indicating the category of +programs used to process the files. A directory of interpreted scripts is named +`interpreter`. + +Files directly loaded and run by the machine are `processed_by` the architecture +(e.g., `x86`) or `category_processed_by` the `machine`. + +An interpreter creates machine code on-the-fly. Calling the interpreter is the +final step, similar calling the loader for a machine file. So we use a category +term of 'exector' for both an interpreter and a loader, so a directory +containing both interpreted files and machine files is named `executor`. + +A document is read by a person, so a document is processed by a `reader`. + +In cases where knowing the agent that will process the file does not give the +user insight as to what the file is for, we drop down to the `purpose_of` +property. + +# Why directory names are often singular + +Each and every file in a directory has the same property value +for a given property. This property value becomes the name of the directory. +This creates an equivalence class of files based on the shared +property. + +For example, if a directory is named ‘compiler’, it signifies that +each file in the directory is processed by a compiler. + +However, there can be cases where the property value, though it comes from an +individual file, will be plural. For example, a directory could conceivably be +named ‘insights’, where each file in the directory contains multiple insights. +When we look at the property value for a single file, it is plural. + +# What is 'lector' + +It is a stuffy way to say `processed_by` the `reader`. At the top level directory +the lector is typically the project manager. In the developer's directory it is +typically the developer. In general it is anyone who reads the docs. + + diff --git a/lector/for_developers.md b/lector/for_developers.md new file mode 100644 index 0000000..25585f5 --- /dev/null +++ b/lector/for_developers.md @@ -0,0 +1,13 @@ + + +The work area for developers is the `developer` directory. All other subdirectories +and files found at the top level are for project management. + +Run `. development_init` in a shell to setup the development environment and to enter the +`development` directory. + +`development_init` is analogous to `activate` in Python. + +See the `resource` project for the `repo` command and additional tools for entering +a directory and setting the bash prompt. + diff --git a/lector/log.md b/lector/log.md new file mode 100644 index 0000000..9df41ca --- /dev/null +++ b/lector/log.md @@ -0,0 +1,10 @@ +This is a project management log. This is not a code development log. (Git does +a pretty good job of that already.) + +2024-07-25 + formal git project directory creation + + Preparation, studies, and discussion occur before this time. + + +