https://github.com/notmax6677/pine-script
Simple, customizable markdown language for Go
https://github.com/notmax6677/pine-script
database golang language markdown-language
Last synced: 3 months ago
JSON representation
Simple, customizable markdown language for Go
- Host: GitHub
- URL: https://github.com/notmax6677/pine-script
- Owner: notmax6677
- Created: 2022-05-29T14:58:44.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2022-05-29T15:32:52.000Z (almost 3 years ago)
- Last Synced: 2024-12-28T11:41:51.478Z (5 months ago)
- Topics: database, golang, language, markdown-language
- Language: Go
- Homepage:
- Size: 12.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# pine-script
pine-script is a language developed in Go, for Go, so far it is kept pretty minimal, but it's open to everyone to build off and modify!
## overview
this is a small language that allows you to create objects and variables in pine-script, then run an interpreter to convert the objects to Go code, which you can then use freely to your likingthe language currently features only two object types (strings and numbers) and support for comments
due to it's small scale and somewhat simple self-documented code, it's pretty easy to modify the syntax, whether changing keys, adding features, or removing some you don't like
## how to use
for starters, you would need to have a `.pine` file in your project folder, idk how to make this a proper module so just download it lole.g:
```go
import "pine/src/interpreter" // import the interpreterfunc main() {
interpreter.RunScript("./script.pine") // run your script
objects := interpreter.ExportObjects() // get objects that were created with your pine script
}
```within objects you will find two fields; Numbers & Strings
let's use the example pine script as an example, if i wanted to get its name i would write
`objects.Strings[0].Name`
or if i wanted the year's value, i could do
`objects.Numbers[0].Value`
both strings and numbers have a Name and Value field, but the value is either `string` or `float64` depending on the type
creating a variable is pretty simple;
`var:type:name:value;`
e.g:
```
var:str:MyName:Max;var:num:MyAge:14;
```the language filters out all spaces and newlines upon the start of interpretation
so something like
`var:st r:ca r: mer c e d es;`
would convert to
`var:str:car:mercedes;`if you want to use spaces within the string's value, you may use an alias, named `"SPACECHAR"` in `keys.go`, it defaults to `#`
so
`var:str:car:hello#world`
the value of this variable named `car` would be `"hello world"`
ps: i don't really care if it doesn't do anything useful, i just wanted to see if i could make something of this sort lmao