Commit my random junk
[sandbox] / furfur / syntax.fparse
diff --git a/furfur/syntax.fparse b/furfur/syntax.fparse
new file mode 100644 (file)
index 0000000..356762e
--- /dev/null
@@ -0,0 +1,20 @@
+__IGNORE__ = /[ \n\t]*/
+
+CLOSE_PARENTHESE = ')'
+EQUALS = '='
+OPEN_PARENTHESE = '('
+
+DEF = 'def'
+END = 'end'
+
+IDENTIFIER = /[A-Za-z_][A-Za-z_0-9]*/
+NUMBER = /\d+(\.\d+)?/
+STRING = /'(.*?|\\')'|"(.*?|\\")"/
+
+expression = 
+
+assignment_statement = IDENTIFIER EQUALS expression
+function_definition_statement = DEF IDENTIFIER OPEN_PARENTHESE argument_definition_list CLOSE_PARENTHESE statement_list END
+expression_statement = expression
+
+statement = assignment_statement | function_definition_statement