Waitrud Weber’s blog

things and reminders for memories

Code Analyzer 006

Analyzer can stop to take out class name before space but find character '{'.
And I prepared parser for analization of inside class.

Created:
 parse_inside_class

---

 

> mingw32-make all
gcc -Wall -O3 -o analyzer.o -c analyzer.cpp
gcc array_counter.o java_struct.o parse.o analyzer.o  -o analyzer.exe
> .\analyzer.exe .\HomePDFPrinter.java
token: package
it's keyword: package
success = 1
package name=packagecom.eteks.sweethome3d.swing
token: import
it's keyword: import
success = 2
import name=importjava.awt.Font
token: import
it's keyword: import
success = 2
import name=importjava.awt.Graphics
token: import
it's keyword: import
success = 2
import name=importjava.awt.print.PageFormat
token: import
it's keyword: import
success = 2
import name=importjava.awt.print.PrinterException
token: import
it's keyword: import
success = 2
import name=importjava.io.IOException
token: import
it's keyword: import
success = 2
import name=importjava.io.InterruptedIOException
token: import
it's keyword: import
success = 2
import name=importjava.io.OutputStream
token: import
it's keyword: import
success = 2
8 / 16
import name=importcom.eteks.sweethome3d.model.Home
token: import
it's keyword: import
success = 2
import name=importcom.eteks.sweethome3d.model.UserPreferences
token: import
it's keyword: import
success = 2
import name=importcom.eteks.sweethome3d.viewcontroller.ContentManager
token: import
it's keyword: import
success = 2
import name=importcom.eteks.sweethome3d.viewcontroller.HomeController
token: import
it's keyword: import
success = 2
import name=importcom.lowagie.text.Document
token: import
it's keyword: import
success = 2
import name=importcom.lowagie.text.DocumentException
token: import
it's keyword: import
success = 2
import name=importcom.lowagie.text.Rectangle
token: import
it's keyword: import
success = 2
import name=importcom.lowagie.text.pdf.PdfContentByte
token: import
it's keyword: import
success = 2
16 / 32
import name=importcom.lowagie.text.pdf.PdfTemplate
token: import
it's keyword: import
success = 2
import name=importcom.lowagie.text.pdf.PdfWriter
token: public
success = 4
keywords: class modifier: public
modifier: 1
parse_class: token: class
parse class name: HomePDFPrinter
print_main_class:
main_class: HomePDFPrinter
modifier: public
Analiyzer found '{'. token:HomePDFPrinter c:{ ナr@
code_line= private final Home            home;


First, analizer could recognize code line and surely improved.

 

 

Please download the bellow freely but care about HomePDFPrinter.java.

https://github.com/WaitrudWeber/source_zip/blob/master/20180425.zip

HomePDFPrinter.java which I analyzed is the part of Sweet Home 3D.
Copyright of Sweet Home 3D.