Skip to content

Commit 1da3d1e

Browse files
Corrected Line Numbering Errors
Added \n to list of restricted char. Corrected error in not counting \n in comments.
1 parent f6d8f36 commit 1da3d1e

File tree

5 files changed

+107
-88
lines changed

5 files changed

+107
-88
lines changed

Output/Default Configuration 2021-7-30_1934.outlextokens

Lines changed: 0 additions & 84 deletions
This file was deleted.
Lines changed: 90 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
[Lexeme TYPE: DECK_START, LEXEME: deck list:, line number: 1]
2+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 2]
3+
[Lexeme TYPE: ID, LEXEME: First, line number: 3][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 3]
4+
[Lexeme TYPE: ID, LEXEME: Second, line number: 4][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 4]
5+
[Lexeme TYPE: ID, LEXEME: Third, line number: 5][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 5]
6+
[Lexeme TYPE: ID, LEXEME: Forth, line number: 6][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 6]
7+
[Lexeme TYPE: ID, LEXEME: Fifth, line number: 7][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 7]
8+
[Lexeme TYPE: ID, LEXEME: 6th, line number: 8][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 8]
9+
[Lexeme TYPE: ID, LEXEME: 7th, line number: 9][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 9]
10+
[Lexeme TYPE: ID, LEXEME: Ash Blossom & Joyous Spring, line number: 10][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 10]
11+
[Lexeme TYPE: ID, LEXEME: First, line number: 11][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 11]
12+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 12]
13+
14+
[Lexeme TYPE: PROBABILITY_START, LEXEME: scenarios:, line number: 14]
15+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 15]
16+
[Lexeme TYPE: ID, LEXEME: Contains "First" Card, line number: 16][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 16]
17+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 17]
18+
[Lexeme TYPE: TREE_START, LEXEME: scenario, line number: 18][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 18]
19+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 19]
20+
[Lexeme TYPE: CONDITION_CARD_START, LEXEME: [, line number: 20][Lexeme TYPE: ID, LEXEME: First, line number: 20][Lexeme TYPE: CONDITION_CARD_END, LEXEME: ], line number: 20]
21+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 21][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 21]
22+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 22]
23+
[Lexeme TYPE: ID, LEXEME: Contains "Second" Card, line number: 23][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 23]
24+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 24]
25+
[Lexeme TYPE: TREE_START, LEXEME: scenario, line number: 25][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 25]
26+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 26]
27+
[Lexeme TYPE: CONDITION_CARD_START, LEXEME: [, line number: 27][Lexeme TYPE: ID, LEXEME: Second, line number: 27][Lexeme TYPE: CONDITION_CARD_END, LEXEME: ], line number: 27]
28+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 28][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 28]
29+
[Lexeme TYPE: DISPLAY_START, LEXEME: display, line number: 29][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 29] [Lexeme TYPE: ID, LEXEME: false, line number: 29][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 29]
30+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 30]
31+
[Lexeme TYPE: ID, LEXEME: Contains Ash Blossom & Joyous Spring, line number: 31][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 31]
32+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 32]
33+
[Lexeme TYPE: TREE_START, LEXEME: scenario, line number: 33][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 33]
34+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 34]
35+
[Lexeme TYPE: CONDITION_CARD_START, LEXEME: [, line number: 35][Lexeme TYPE: ID, LEXEME: Ash Blossom & Joyous Spring, line number: 35][Lexeme TYPE: CONDITION_CARD_END, LEXEME: ], line number: 35]
36+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 36][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 36]
37+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 37]
38+
39+
[Lexeme TYPE: LINE_COMMENT, LEXEME: //should be the highest, line number: 39]
40+
[Lexeme TYPE: ID, LEXEME: First | Ash, line number: 40][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 40]
41+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 41]
42+
[Lexeme TYPE: TREE_START, LEXEME: scenario, line number: 42][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 42]
43+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 43]
44+
[Lexeme TYPE: CONDITION_SCENARIO_START, LEXEME: <, line number: 44][Lexeme TYPE: ID, LEXEME: Contains "First" Card, line number: 44][Lexeme TYPE: CONDITION_SCENARIO_END, LEXEME: >, line number: 44] [Lexeme TYPE: OR, LEXEME: OR, line number: 44] [Lexeme TYPE: CONDITION_SCENARIO_START, LEXEME: <, line number: 44][Lexeme TYPE: ID, LEXEME: Contains Ash Blossom & Joyous Spring, line number: 44][Lexeme TYPE: CONDITION_SCENARIO_END, LEXEME: >, line number: 44]
45+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 45][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 45]
46+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 46]
47+
48+
[Lexeme TYPE: LINE_COMMENT, LEXEME: //should be the lowest, line number: 48]
49+
[Lexeme TYPE: ID, LEXEME: First & Ash, line number: 49][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 49]
50+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 50]
51+
[Lexeme TYPE: TREE_START, LEXEME: scenario, line number: 51][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 51]
52+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 52]
53+
[Lexeme TYPE: CONDITION_SCENARIO_START, LEXEME: <, line number: 53][Lexeme TYPE: ID, LEXEME: Contains "First" Card, line number: 53][Lexeme TYPE: CONDITION_SCENARIO_END, LEXEME: >, line number: 53] [Lexeme TYPE: AND, LEXEME: AND, line number: 53] [Lexeme TYPE: CONDITION_SCENARIO_START, LEXEME: <, line number: 53][Lexeme TYPE: ID, LEXEME: Contains Ash Blossom & Joyous Spring, line number: 53][Lexeme TYPE: CONDITION_SCENARIO_END, LEXEME: >, line number: 53]
54+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 54][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 54]
55+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 55]
56+
[Lexeme TYPE: LINE_COMMENT, LEXEME: //should be the same as First & Ash, line number: 56]
57+
[Lexeme TYPE: ID, LEXEME: First AND Ash, line number: 57][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 57][Lexeme TYPE: LINE_COMMENT, LEXEME: //legal name, line number: 57]
58+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 58]
59+
[Lexeme TYPE: TREE_START, LEXEME: scenario, line number: 59][Lexeme TYPE: ASSIGN, LEXEME: =, line number: 59]
60+
[Lexeme TYPE: SENTINEL_START, LEXEME: {, line number: 60]
61+
[Lexeme TYPE: CONDITION_EXPR_START, LEXEME: (, line number: 61][Lexeme TYPE: CONDITION_CARD_START, LEXEME: [, line number: 61][Lexeme TYPE: ID, LEXEME: First, line number: 61][Lexeme TYPE: CONDITION_CARD_END, LEXEME: ], line number: 61][Lexeme TYPE: CONDITION_EXPR_END, LEXEME: ), line number: 61] [Lexeme TYPE: AND, LEXEME: AND, line number: 61] [Lexeme TYPE: NOT, LEXEME: NOT, line number: 61] [Lexeme TYPE: NOT, LEXEME: NOT, line number: 61] [Lexeme TYPE: CONDITION_CARD_START, LEXEME: [, line number: 61][Lexeme TYPE: ID, LEXEME: Ash Blossom & Joyous Spring, line number: 61][Lexeme TYPE: CONDITION_CARD_END, LEXEME: ], line number: 61]
62+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 62][Lexeme TYPE: SEMI_COLON, LEXEME: ;, line number: 62]
63+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 63]
64+
[Lexeme TYPE: SENTINEL_END, LEXEME: }, line number: 64]
65+
[Lexeme TYPE: BLOCK_COMMENT, LEXEME: /*
66+
Other:
67+
Line Comment, yes
68+
Block Comment, yes
69+
Block Comment error, no
70+
71+
Deck List properties:
72+
Duplicate Card, yes
73+
Invalid Card, no
74+
No Deck Error, no
75+
76+
Scenario List Properties:
77+
No Scenario Defined Error, no
78+
Invalid Name, no
79+
Repeated Name Error, no
80+
Binary Operator, yes
81+
Binary Operand Missing, no
82+
Reference Scenario, yes
83+
Undefined Referenced Scenario Error, no
84+
Empty scenario, no
85+
Has Display, yes
86+
Invalid Display, no
87+
Unary Operator, yes
88+
Multiple Unary, yes
89+
Nesting of Expressions, yes
90+
*/, line number: 65]

Starting_Point.java

Lines changed: 16 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -106,8 +106,8 @@ else if (command_argument.isDirectory())
106106
parent_output_path.mkdirs();
107107
}
108108

109-
int file_count = source_files.length;
110-
for (int i = 0; i < file_count; ++i)
109+
final int FILE_COUNT = source_files.length;
110+
for (int i = 0; i < FILE_COUNT; ++i)
111111
if (source_files[i].exists() && source_files[i].getName().endsWith(SOURCE_FILE_EXTENSION))
112112
{
113113
File lexical_error_output_file;
@@ -193,7 +193,20 @@ else if (HORIZONTAL_WHITESPACE_CHARACTER.matcher(read_character).matches())
193193
//write to normal lexical file
194194
else
195195
{
196-
lexical_correct_output.print(current_token.FULLY_FORMED_PART.toString());
196+
if (placeholder.equals(Token.Lexeme_Types.LINE_COMMENT))
197+
{
198+
//line comments were accidently eating the new line characters, so this is a pseudo counter balance
199+
lexical_correct_output.println(current_token.FULLY_FORMED_PART.toString());
200+
++line_number;
201+
}
202+
else
203+
{
204+
final String TOKEN_STRING_FORM = current_token.FULLY_FORMED_PART.toString();
205+
if (placeholder.equals(Token.Lexeme_Types.BLOCK_COMMENT))
206+
line_number += TOKEN_STRING_FORM.length() - TOKEN_STRING_FORM.replace("\n", "").length();
207+
208+
lexical_correct_output.print(TOKEN_STRING_FORM);
209+
}
197210
/*if (placeholder != Token.Lexeme_Types.BLOCK_COMMENT && placeholder != Token.Lexeme_Types.LINE_COMMENT)
198211
{
199212
try

parser/Tokenizer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -94,7 +94,7 @@ public Returned_Data(final String EXTRA_DATA, final Token FULLY_FORMED_PART)
9494
/**
9595
* Simple concatenation of chars which are not allowed to be a part of any keyword, ID, or special marker of a part.
9696
*/
97-
public final static String RESTRICTED_CHARS = ";=" + SENTINEL_START + SENTINEL_END + CONDITION_CARD_START + CONDITION_CARD_END + CONDITION_SCENARIO_START +
97+
public final static String RESTRICTED_CHARS = ";=\n" + SENTINEL_START + SENTINEL_END + CONDITION_CARD_START + CONDITION_CARD_END + CONDITION_SCENARIO_START +
9898
CONDITION_SCENARIO_END + CONDITION_EXPR_START + CONDITION_EXPR_END;
9999

100100
/**

0 commit comments

Comments
 (0)