]> www.ljiriste.work Git - SetSCAD.git/commitdiff
Add the least grammar to be able to do something
authorLukáš Jiřiště <redacted>
Mon, 13 Jul 2026 18:53:35 +0000 (20:53 +0200)
committerLukáš Jiřiště <redacted>
Mon, 13 Jul 2026 18:54:03 +0000 (20:54 +0200)
The grammar before defined the set definition, but not the actual file
grammar. This adds concepts such as statement so a file can be written.

grammar

diff --git a/grammar b/grammar
index 3125a71da1c7e433bfe06023b9e3410317bbf0c7..b395a8950fcfbcf2be486da79fe98acbe288d89d 100644 (file)
--- a/grammar
+++ b/grammar
@@ -1,3 +1,13 @@
+file -> statement SEMICOLON file
+file -> ''
+statement -> function_load
+statement -> const_definition
+statement -> set_construction
+statement -> set_named_definition
+function_load -> LOAD function_name FROM file_path
+file_path -> path
+const_definition -> const_name EQUAL expression
+set_construction -> set
 set_named_definition -> set_name EQUAL set
 set_definition -> points_domain VERTICAL_BAR constraint_list
 points_domain -> single_points_domain COMMA points_domain
@@ -31,7 +41,7 @@ term -> LEFT_BRACKET expression RIGHT_BRACKET
 function_call -> function_name LEFT_BRACKET argument_list RIGHT_BRACKET
 argument_list -> term COMMA argument_list
 argument_list -> term
-set_definition -> parameters_domain SEMICOLON parameter_equations
+set_definition -> parameters_domain VERTICAL_BAR parameter_equations
 parameters_domain -> parameter_name IN set COMMA parameters_domain
 parameters_domain -> parameter_name IN set
 parameter_equations -> parameter_equation COMMA parameter_equations
@@ -57,7 +67,9 @@ vector -> LEFT_SQUARE number COMMA number COMMA number RIGHT_SQUARE
 parameter_name -> name
 function_name -> name
 set_name -> name
+const_name -> name
 name -> STRING
+path -> STRING
 number -> mantissa
 number -> mantissa exponent
 mantissa -> INT