diff options
author | Maël Gassmann <mael.gassmann@students.bfh.ch> | 2021-06-11 22:30:14 +0200 |
---|---|---|
committer | Maël Gassmann <mael.gassmann@students.bfh.ch> | 2021-06-11 22:30:14 +0200 |
commit | f02eee6fd65e352c3fdc16b51aa7f99c2c63482d (patch) | |
tree | daeea722c33832195f6eb99631b9383ea94e82e4 /calculator-javacc | |
parent | fed70f3ac817ed4943a230cb901fcd65dc6fdd0c (diff) |
[+] Added basic structure for the javacc-calculator
Diffstat (limited to 'calculator-javacc')
-rw-r--r-- | calculator-javacc/.gitignore | 4 | ||||
-rw-r--r-- | calculator-javacc/Calculator.jj | 35 | ||||
-rwxr-xr-x | calculator-javacc/compileRun.sh | 2 |
3 files changed, 41 insertions, 0 deletions
diff --git a/calculator-javacc/.gitignore b/calculator-javacc/.gitignore new file mode 100644 index 0000000..0e5a09f --- /dev/null +++ b/calculator-javacc/.gitignore @@ -0,0 +1,4 @@ +calculator-javacc.iml +.idea/ +*.java +*.class diff --git a/calculator-javacc/Calculator.jj b/calculator-javacc/Calculator.jj new file mode 100644 index 0000000..6cc78f5 --- /dev/null +++ b/calculator-javacc/Calculator.jj @@ -0,0 +1,35 @@ +options{DEBUG_PARSER = true; DEBUG_TOKEN_MANAGER = true;} + +PARSER_BEGIN(Calculator) +public class Calculator { + public static void main(String[] args) { + try{ + Calculator parser = new Calculator(System.in); + parser.Start(); + }catch (ParseException e){ + System.out.println(e.getMessage()); + } + } +} +PARSER_END(Calculator) + +/** +* For now only using the Hello World grammar +*/ + +SKIP : { + " "|"\t"|"\n"|"\r" +} + +TOKEN : { + <SPACE: " "|"\t">| + <HELLO: "hello">| + <WORLD: "world">| + <HELLOWORLD: <HELLO> ( <SPACE> ) + <WORLD>> +} + +void Start() : { +} +{ + (<HELLOWORLD>)* <EOF> +}
\ No newline at end of file diff --git a/calculator-javacc/compileRun.sh b/calculator-javacc/compileRun.sh new file mode 100755 index 0000000..555604e --- /dev/null +++ b/calculator-javacc/compileRun.sh @@ -0,0 +1,2 @@ +#/bin/sh +javacc Calculator.jj && javac *.java && clear && java Calculator |