Skip to content

stuboydl/mvsyntax

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mvsyntax

🚀 Welcome to the MVSyntax Repository

This repository is a collection of miscellaneous multivalue database system syntaxes and grammars. It aims to provide resources to work with various development tools effectively.

It is a work in progress. if you feel something is missing or incorrect please get involved.

Topics Covered

The repository covers a range of topics related to multivalue database syntaxes and grammars. Some of the key topics included are:

  • Beyond-Compare
  • Linguist
  • Rocket Software
    • UniVerse
    • UniData
    • jBase
    • D3
  • Visual Studio Code

See the Rocket Software website for more information on UniVerse, UniData, jBase, D3, mvBase, OpenQM and multivalue in general here https://www.rocketsoftware.com/products/rocket-multivalue-application-development-platform/all-products Documentation https://docs.rocketsoftware.com Forums https://community.rocketsoftware.com/home

Beyond Compare

Beyond Compare is a commercial utility for comparing, diffing, merging, and synchronizing files and folders. It supports various environments, file types, syntax highlighting, filters, and scripting.

The BCFileFormats.xml file may be imported into Beyond Compare to provide syntax highlighting and comparison rules for mvBasic and mv data.

bc sample

Linguist

The Linguist library is used on GitHub.com to detect blob languages, ignore binary or vendored files, suppress generated files in diffs, and generate language breakdown graphs.

When committing any mvBasic to GitHub, Use * linguist-language=mvBasic in your .gitattributes file to explicitly indicate the language is mvBasic.

As most mvBasic files don't have any specific identifier, such as a well-known filename extension or header shebang line [although the SUBROUTINE/PROGRAM keywords may be taken into consideration??], using this enables Linguist to identify the language type.

By specifying the associated file types in the .gitattributes file, Linguist will use that to explicitly identify miscellaneous files.

For example, if you have both Python and mvBasic files in your main branch, you can identify Python code by its extension and everything else as mvBasic:

# Example of a '.gitattributes' file which classifies '.py' files as Python and everything else as mvBasic: *.py linguist-language=python * linguist-language=mvbasic

If Linguist doesn't have anything else to go by it will use heuristics and naïve Bayesian classification to attempt to identify the file type.

Rocket Software

Visual Studio Code

VS Code is a free standalone source code editor that runs on Windows, macOS, and Linux. The top pick for mvBasic developers, with extensions to support most programming languages and a vast range of utility extensions.

This opens mv programming to the world of modern programming editing tools and utilities including AI assistants that work with MV environments.

Recommended extensions include:

Keywords

  • Beyond Compare
  • D3
  • Database
  • DBMS
  • Grammar
  • Grammar Rules
  • Linguist
  • MultiValue
  • MV
  • MVBasic
  • Pick
  • Pick Basic
  • PickBasic
  • Rocket
  • U2
  • UniData
  • Universe
  • VSCode

Helpful Resources

In this repository, you will find resources including syntax and grammar guides, complete grammars and sample code snippets. Feel free to explore the contents.

Get Involved

If you are passionate about multivalue databases and syntaxes, I welcome your contributions to this repository. Whether you want to suggest improvements, add new syntax examples, or share your knowledge, your input is gratefully accepted and highly valued.

TODO add contribution guideline doc

Did you find a bug?

  • Ensure the bug was not already reported by searching on GitHub under Issues.

  • If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.

Stay Updated

To stay updated with the latest developments and additions to the MVSyntax repository, be sure to watch this repository. By watching the repository, you will receive notifications about new releases, code updates, and community contributions.

Connect

For any questions, suggestions, or collaboration opportunities, feel free to reach out to me via Rocket forums. Your feedback is crucial in improving this repository and making it a valuable resource for the multivalue community.

Thank you for visiting the MVSyntax repository. Happy exploring and coding with multivalue databases! 🌟🚀

Releases

No releases published

Packages

No packages published

Languages